{"id":21263,"html_url":"https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/58#issuecomment-21263","pull_request_url":"","issue_url":"https://gitea.hmac.kr/Kyeongmin/C.E.L_Slide_test2/issues/58","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":"Executing unit: u1\n\n๐Ÿ“Œ **[Claude #3] Stage 3 Round #1 โ€” u1 dormant_triggers_yaml ์‹คํ–‰ ์™„๋ฃŒ**\n\nโ–  **unit_executed**: `u1` โ€” `dormant_triggers_yaml`\n\nโ–  **files_changed**:\n- `docs/architecture/DORMANT-TRIGGERS.yaml` (new, 132 lines)\n\nโ–  **diff_summary**\n์ƒˆ ํŒŒ์ผ 1 ๊ฐœ ์ƒ์„ฑ. Stage 2 plan `estimate_lines: 45` ๋Œ€๋น„ ์‹ค์ œ 132 lines โ€” ์ฐจ์ด๋Š” (a) schema header comment block (~28 lines, ๋ช…์„ธ ์˜๋ฌด) + (b) Stage 1 evidence lock ์˜ `doc_evidence_lines` ์ธ์šฉ + multi-line `description` ๋ธ”๋ก(YAML `\u003e-` folded scalar). ์ปจํ…์ธ  ๋‹จ์œ„ entry ์ˆ˜๋Š” plan ๊ทธ๋Œ€๋กœ 5 rows. scope-lock ์™ธ ํŒŒ์ผ 0.\n\n๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ตฌ์„ฑ (4 active + 1 followup-linked, Stage 2 plan ์ผ์น˜):\n\n| # | issue | status | followup | manual_evidence | file_patterns | content_patterns |\n|---|------|--------|----------|-----------------|---------------|------------------|\n| 1 | 16 | documented:dormant | null | false | `src/**/*.py` | `html_to_slide_mdx`, `edited_html_to_mdx`, `reverse_path` |\n| 2 | 17 | documented:dormant | null | **true** (User GO + B4 + IMP-04/05 live) | [] | [] |\n| 3 | 18 | documented:dormant | null | false | `templates/phase_z2/families/*.html`, `templates/phase_z2/frames/*.html` | `\u003csvg`, `viewBox` |\n| 4 | 19 | documented:dormant | null | **true** (Step 8 regression + IMP-09 sign-off) | [] | [] |\n| 5 | 20 | followup-linked | **55** | true | [] | [] |\n\n๊ฐ entry ์— Stage 1 EVIDENCE ์˜ `doc_evidence_lines` (์˜ˆ: IMP-16 โ†’ `21-25`, IMP-17 โ†’ `25-31`, IMP-18 โ†’ `38-43`, IMP-19 โ†’ `83-90`, IMP-20 โ†’ `85-91`) ๋ช…์‹œ โ€” Stage 1 scope-lock \"each entry must cite its activation-gate doc + line range as evidence\" ์ถฉ์กฑ.\n\nSchema header comment ๋Š” u2 checker ๊ฐ€ ์˜์กดํ•  ํ•„๋“œ (`file_patterns`, `content_patterns`, `manual_evidence_required`, `followup_issue`, `on_trigger.action`) ์™€ guardrail (informational only / manual gate skip / followup_issue โ†’ note-only) ์„ ๋ช…๋ฌธํ™”. u5 governance ref ๊ฐ€ ์ด ํŒŒ์ผ์„ single source of truth ๋กœ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก self-describing.\n\nโ–  **acceptance check (u1 only)**\n- `yaml.safe_load(...)` ํ†ต๊ณผ (`pytest` ์˜์กด์„ฑ ์—†๋Š” ์ง์ ‘ ๊ฒ€์ฆ) โ†’ `entries: 5` / `active=4 followup=1` / IMP-17ยทIMP-19ยทIMP-20 `manual=True`, IMP-16ยทIMP-18 `manual=False`.\n- Stage 2 plan `tests:` ์˜ `test_yaml_parses_with_pyyaml` ๋ฐ `test_registry_has_5_entries_4_active_plus_1_followup` ๊ฐ€ u4 ์—์„œ ์‹ค์ œ assert ๋กœ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ (key ์ด๋ฆ„ / status enum ์ผ๊ด€).\n- IMP-07 (`documented:no-runtime`) ๋ฏธํฌํ•จ โ€” Stage 1 out_of_scope ์ค€์ˆ˜.\n\nโ–  **remaining_units** (Stage 2 plan ์ˆœ์„œ ์œ ์ง€)\n- `u2` โ€” `scripts/check_dormant_triggers.py` (registry ์ฝ๊ธฐ + working tree / `HEAD~1..HEAD` diff ์Šค์บ” + `.orchestrator/dormant_alerts.json` ์“ฐ๊ธฐ + `exit 0` always)\n- `u3` โ€” `orchestrator.py` `_check_dormant_triggers()` helper + Stage 4โ†’5 branch (P4a ๋ฏธ๋Ÿฌ; audit-only skip; never blocks)\n- `u4` โ€” `tests/orchestrator_unit/test_dormant_triggers.py` โ‰ฅ 8 cases (IMP-# trigger ๋ณ„ ๋ช…๋ช…)\n- `u5` โ€” `docs/architecture/PROJECT-INTENT-AND-GOVERNANCE.md` ยง 8 anti-patterns row ์— 1 line ์ถ”๊ฐ€ (registry ๊ฐ€๋ฆฌํ‚ค๊ธฐ)\n\nโ–  **follow_up_issue_candidates**: ์—†์Œ. u1 ๋ฒ”์œ„ ๋‚ด scope-lock ์™ธ axis ๋ฏธ๋ฐœ๊ฒฌ.\n\nโ–  **guardrails ํ™•์ธ**\n- RULE 6 (commit scope only) โ€” ๋ณธ turn ์€ commit/push ์—†์Œ (Stage 3 contract). ํŒŒ์ผ 1 ๊ฐœ๋งŒ ์ž‘์„ฑ.\n- RULE 7 (no hardcoding) โ€” 4 dormant ๋ชฉ๋ก์€ evidence ์ธ์šฉ์œผ๋กœ ์ถ”์  ๊ฐ€๋Šฅ, u3 helper ๋Š” ๋ณธ yaml ๋งŒ ์ฝ์Œ (duplicate list ๊ธˆ์ง€ lock).\n- PZ-1 (AI=0 normal) โ€” ๋ณธ unit ์€ deterministic ํŒŒ์ผ ์ž‘์„ฑ, LLM ํ˜ธ์ถœ 0.\n- Stage 1 scope-lock 5-unit ์˜ ์ฒซ unit, ๋‹ค์Œ unit ์œผ๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š์Œ (1 turn = 1 step).\n\nโ–  **commit_sha**: HEAD = `8c1e563` (Stage 2 close ์™€ ๋™์ผ, ๋ฏธ์ปค๋ฐ‹ ์ƒํƒœ).\n\nrewind_target: continue_same\n","assets":[],"created_at":"2026-05-20T08:55:44+09:00","updated_at":"2026-05-20T08:55:44+09:00"}