This commit is contained in:
commit
8f085a28d3
3220 files changed
+985495
No files matched your search
@@ -0,0 +1 @@
|
||||
[{"id": 18767, "html_url": "https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/10#issuecomment-18767", "pull_request_url": "", "issue_url": "https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/10", "user": {"id": 28, "login": "Kyeongmin", "login_name": "", "source_id": 0, "full_name": "이경민", "email": "kyeongmin@noreply.localhost", "avatar_url": "https://gitea.hmac.kr/avatars/d883a35f9197b080b2a0c535c3f9357dcd5c7d40b3c42bd8f40218cb94609a8e", "html_url": "https://gitea.hmac.kr/Kyeongmin", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2025-12-30T10:51:04+09:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 1, "username": "Kyeongmin"}, "original_author": "", "original_author_id": 0, "body": "[Claude #1] Stage 1 — problem review + scope-lock (round 1)\n\n## Root cause / current state\n\nThe backend already produces the artifact this issue wants exposed. The frontend already fetches it. The gap is purely **read-only surfacing** in `loadRun()` → `RunMeta` → header UI.\n\n### Backend producer (read-only, NO change)\n- `src/phase_z2_pipeline.py:2217-2278` builds `filtered_section_reasons` (list of dicts).\n- `src/phase_z2_pipeline.py:2296-2303` exposes both `filtered_section_ids` and `filtered_section_reasons` in step20_slide_status `data`.\n- Per-entry schema verified from code:\n - `section_ids: list[str]`\n - `merge_type: str | None`\n - `template_id: str | None`\n - `v4_label: str | None`\n - `phase_z_status: str | None`\n - `score: float | None`\n - `selection_state: str` — enum {`filtered_status`, `filtered_weak`, `filtered_lost`, `section_assignment_override_uncovered`}\n - `filter_reasons: list[str]` — verbatim strings (e.g., `C1: ...` capacity, `WK*` weak signals)\n - Override-uncovered additive variant adds: `source: \"section_assignment_override\"`, `position: str | None`\n- Test contract: `tests/test_phase_z2_section_assignment_override.py:515-527` already pins override-uncovered entries → no backend schema drift risk.\n\n### Sync script (NO change)\n- `scripts/sync_phase_z_run_to_frontend.py:52` already copies `step20_slide_status.json` to `Front/client/public/data/runs/{run_id}/steps/`.\n\n### Frontend gap (CHANGE)\n- `Front/client/src/services/designAgentApi.ts:210-222` — `RunMeta` interface missing two fields.\n- `Front/client/src/services/designAgentApi.ts:385,389-411` — `loadRun()` already reads `step20_slide_status.json` into `slideStatus`, but only maps `overall` / `visual_check_passed` / `full_mdx_coverage`. `filtered_section_*` are dropped on the floor.\n- `Front/client/src/pages/Home.tsx:510-531` — header status badge is the natural anchor for a sibling \"N filtered\" badge with a popover/details listing each entry.\n\n## Sample data baseline (verified from disk)\n- `Front/client/public/data/runs/mdx03_f29_fix_check/steps/step20_slide_status.json` → `filtered_section_ids=[]`, `filtered_section_reasons=[]`, overall=PASS.\n- `Front/client/public/data/runs/mdx04_b3_v12/steps/step20_slide_status.json` → same empties, overall=RENDERED_WITH_VISUAL_REGRESSION (with fallback selections, but no filtered sections).\n- Non-empty case → exercised by the IMP-06 override scenario only (zoneSections override that displaces a section). Stage 2 must specify a manual / fixture-based verification path because the two existing canned runs are both empty.\n\n## Scope-lock (locked unit of work)\n\n**IN scope (frontend-only, read-only):**\n1. Add `filtered_section_ids: string[]` and `filtered_section_reasons: FilteredSectionReason[]` fields to the `RunMeta` interface in `Front/client/src/services/designAgentApi.ts:210-222`.\n2. Define a `FilteredSectionReason` TS type mirroring the backend schema verbatim (no field renames, no enum translation).\n3. Map both fields from `slideStatus.data` into `runMeta` inside `loadRun()` (`designAgentApi.ts:389-411`). Defensive `?? []` defaults.\n4. Surface a small read-only badge + popover/details near the existing status badge in `Front/client/src/pages/Home.tsx:510-531`. Badge hidden when `filtered_section_reasons.length === 0`. Popover lists each entry: `section_ids`, `selection_state` (verbatim enum), `filter_reasons` (verbatim list), optional `template_id`/`v4_label` when present, and the `source=section_assignment_override` qualifier when present.\n\n**OUT of scope (explicitly NOT touched):**\n- Backend (`src/phase_z2_pipeline.py`, frame contracts, composition planner). Artifact stays read-only.\n- Sync script (`scripts/sync_phase_z_run_to_frontend.py`). Already copies step20.\n- `step08_zone_region_ratios.json` UI. The issue body mentions \"Step 8 coverage UI\" but the coverage signal lives in step20 (`filtered_section_*`); step 8 carries zone planning, not filter reasons. Conflating the two would expand scope.\n- D-2 frame `min_Line truncated
|
||||
Reference in new issue
Block a user