1 line
7.8 KiB
JSON
1 line
7.8 KiB
JSON
{"body": "[Claude #5] Stage 2 simulation-plan IMP-04b catalog extension — Round #1 (rewind R2)\n\nResolves Codex #4 gaps: (a) all 21 frames enumerated (TrackA 9 + TrackB 12), (b) TrackB sequencing locked = contract-FIRST with `status: visual_pending` marker (Stage 1 Q2), (c) baseline-test extension (u11) gates TrackB, (d) 32/32 gate at u24.\n\n=== IMPLEMENTATION_UNITS ===\n- {id: u1, summary: \"Inventory artifact — 21 frames × {V4 conf, group 1-6, source layers, order}\", files: [.orchestrator/tmp/imp04b_inventory.md], tests: [], estimate_lines: 50}\n- {id: u2, summary: \"TrackA F24 engn_sw_three_types (LE=1) — deep-review baseline\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 50}\n- {id: u3, summary: \"TrackA F21 solution_engn_split_diagram (RS=3)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u4, summary: \"TrackA F27 bim_adoption_central_split (RS=2)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u5, summary: \"TrackA F22 model_specialized_engn_sw (RS=1)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u6, summary: \"TrackA F23 app_sw_package_vs_solution + WIP absorb 13→12\", files: [templates/phase_z2/catalog/frame_contracts.yaml, templates/phase_z2/families/_WIP_FILES.md], tests: [tests/test_family_contract_baseline.py], estimate_lines: 50}\n- {id: u7, summary: \"TrackA F1 sw_development_cycle_six_nodes (completeness)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u8, summary: \"TrackA F3 overseas_bim_numbered_list (completeness)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u9, summary: \"TrackA F7 bigroom_system_components (completeness)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 45}\n- {id: u10, summary: \"TrackA F9 pre_construction_model_info_stacked + WIP absorb 12→11 (empty)\", files: [templates/phase_z2/catalog/frame_contracts.yaml, templates/phase_z2/families/_WIP_FILES.md], tests: [tests/test_family_contract_baseline.py], estimate_lines: 50}\n- {id: u11, summary: \"Baseline-test extension — exempt status:visual_pending contracts from disk-file requirement\", files: [tests/test_family_contract_baseline.py], tests: [tests/test_family_contract_baseline.py], estimate_lines: 40}\n- {id: u12, summary: \"TrackB F2 engn_sw_development_domain_knowledge — schema-only (visual_pending)\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u13, summary: \"TrackB F4 domestic_bim_actor_relations — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u14, summary: \"TrackB F5 compensation_complaint_side_card — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u15, summary: \"TrackB F6 compensation_complaint_map — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u16, summary: \"TrackB F10 field_effectiveness_five_elements — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u17, summary: \"TrackB F15 policy_goals_plus_execution_requirements — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u18, summary: \"TrackB F19 design_method_distortion_three_col — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u19, summary: \"TrackB F25 commercial_sw_four_categories — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u20, summary: \"TrackB F26 sw_dependency_four_problems — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u21, summary: \"TrackB F30 industry_current_status_three_col — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u22, summary: \"TrackB F31 industry_characteristics_three_col — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u23, summary: \"TrackB F32 policy_achievement_five_goals — schema-only\", files: [templates/phase_z2/catalog/frame_contracts.yaml], tests: [tests/test_family_contract_baseline.py], estimate_lines: 35}\n- {id: u24, summary: \"32/32 catalog gate — test_catalog_covers_v4_32_template_ids + smoke 11/11 confirm\", files: [tests/test_family_contract_baseline.py], tests: [tests/test_family_contract_baseline.py], estimate_lines: 40}\n\n=== PER-UNIT RATIONALE ===\nu1: anchors per-frame Reason/Builder/min_height for u2-u23 Stage 3; TrackB rows flag index.html=MISSING → grounds visual_pending.\nu2: F24 deep-review per IMP-04 r73 + 4-axis pre-flight; builder reuse F11/F20.\nu3-u5: RS-tier order (3>2>1) from V4 + 4-layer block evidence.\nu6,u10: WIP absorb atomicity — contract + _WIP_FILES.md row + count decrement same commit (Stage 1 lock).\nu7-u9: V4=0 completeness (Codex r47); frame# ascending tiebreak.\nu11: BEFORE TrackB — `_load_contract_keys` filters status:visual_pending from disk-set check; TrackA unaffected.\nu12-u23: Schema-only from 3-layer source; V4 + status:visual_pending + partial_target_path:null. Resolves Stage 1 Q2 = contract BEFORE index.html (explicit marker, not silent deferral); frame# ascending.\nu24: New invariant set(catalog keys)==set(V4 32 template_ids); #42 completion gate.\n\n=== OUT-OF-SCOPE ===\nTrackB index.html (→IMP-04c via visual_pending marker); TrackC; V4 re-run; smoke_frame_render argparse + new SELF_CHECK_FIXTURES; blocks/1171281171; mdx_normalizer; adapter/runtime AI; visual_pending runtime consumer behavior (catalog-side only).\n\n=== ROLLBACK ===\nPer-unit `git revert <sha>` (1 commit ≤ 2 files). u11→u23 revert as contiguous range if TrackB rejected mid-stream.\n\n=== SMOKE TARGET ===\nThroughout: SELF_CHECK_FIXTURES 11/11 PASS (F17 regression 0). After u6/u10: WIP 2→1→0; baseline PASS each commit. After u11: extension PASS (inert). After u23: catalog=32 (11+9+12). After u24: 32/32 invariant PASS — #42 gate.\n\n=== EVIDENCE ===\n- catalog=11 (grep ^[a-z_]: frame_contracts.yaml)\n- V4 unique template_ids=32 (awk on v4_full32_result.yaml)\n- block dirs=33 (32 target + non-target 1171281171); HAS_INDEX=20, NO_INDEX target=12\n- TrackA 9 = F1/F3/F7/F9/F21/F22/F23/F24/F27; TrackB 12 = F2/F4/F5/F6/F10/F15/F19/F25/F26/F30/F31/F32\n- TrackA V4 rank: F24(LE=1)>F21(RS=3)>F27(RS=2)>F22(RS=1)>F23(RS=1)>F1/F3/F7/F9(V4=0; frame# asc)\n- WIP rows: _WIP_FILES.md:20-21 → F23, F9\n- baseline test: tests/test_family_contract_baseline.py:46-63\n- argparse (OOS): scripts/smoke_frame_render.py:499-543\n- split_source: src/phase_z2_mapper.py:97-104; ITEM_PARSERS: :262-265\n- 4-layer root: figma_to_html_agent/blocks/{fid}/{analysis.md,texts.md,index.html,assets/}\n\nsource_comment_ids: Claude #2 Stage 1 exit (c412f1e) / Codex #3+#4 Stage 2 rewind\n"} |