feat(v2): formalizer EMIT graph_shape + narrative/faithfulness 구조사실 검증 (Phase 1b, F8 폐쇄) - #171
Merged
Merged
Conversation
…증 (Phase 1b, F8 폐쇄) 단일 IR RFC(#169) Phase 1 의 write-side: 1a(#170)가 깐 구조 IR 필드를 formalizer 가 실제로 EMIT 하고, narrative/faithfulness 가 prose 규칙 대신 투영된 구조 사실(DATA)로 검증한다. 모순 표면이 prompt 규칙(확률적)에서 graph_shape 단일 진실(구조적)로 이동. - formalizer: graph 구조 prose 규칙(self-loop 없음/다중간선/연결성) 삭제 → graph_shape 필드 EMIT 지령(directed/self_loops/multi_edges/connectivity). directed 는 F8(어디에도 결정 안 된 잠재 모순) 필수 핀 — 도메인 의미로 단/양방향 결정. - narrative: self-loop 금지 prose 삭제 → render_structural_facts 를 DATA 로 수령하고 그와 일치하게 서술(모순 시 faithfulness reject). - faithfulness: 구조 사실 DATA 공급 + 'narrative ↔ 구조 사실 모순 = distortion' 규율. - F8 verifier: 무수정. v1 DijkstraVerifier 는 v2 샘플('V E' 헤더)에 dormant(파서가 'V E s t' 4토큰 기대 → silent skip 실증) — F8 활성 표면은 format 계약↔golden↔ narrative 뿐이고 directed 가 거기 투영되므로 directed=True/False 모두 안전. 게이트: 816 passed(+6 신규 1b 프롬프트/데이터흐름 테스트) / mypy --strict 92 / ruff green. 출하율 측정은 PR 본문 참조.
LsMin124
pushed a commit
that referenced
this pull request
Jun 24, 2026
…tor Phase 0~1b) - meta: main/dev 0ceb6b6, tests 727→768 (v1 506 + v2 262 worktree 실측), version '출하율 수선 + 단일 IR refactor' - summary: ship-rate 진단·수선(P1 1/9→6/9) + 단일 ProblemIR RFC(모순표면 O(N²)→O(2)) Phase 0~1b - bank: prod 25→31문제(번호~1030, P1 6문제 추가 #1025~1030 composition 0, 난이도 Bronze3/Silver10/Gold18) - recentPrs #152~171, backlog 단일 IR refactor 트랙 추가, NFR-6/stack.pytest 262 - 4 HTML 하드코딩 테스트수 768
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
단일 IR RFC(#169) Phase 1 의 write-side. 1a(#170)가 깐 구조 IR 필드를 formalizer 가 실제로 EMIT 하고, narrative/faithfulness 가 prose 규칙 대신 투영된 구조 사실(DATA)로 검증한다. 모순 표면이 prompt 규칙(확률적)에서
graph_shape단일 진실(구조적)로 이동 — consistency-by-construction.변경
graph_shape필드 EMIT 지령(directed/self_loops/multi_edges/connectivity).directed는 F8(오늘날 어디에도 결정 안 된 잠재 모순) 필수 핀 — 도메인 의미로 단/양방향 결정.render_structural_facts를 DATA 로 수령하고 그와 일치하게 서술(모순 시 faithfulness reject).DijkstraVerifier는 v2 샘플(V E2토큰 헤더)에 dormant(파서가V E s t4토큰 기대 → silent skip 실증) — F8 활성 표면은 format 계약↔golden↔narrative 뿐이고directed가 거기 투영되므로 directed=True/False 모두 안전.측정 (격리 클린 before/after, N=3 P1)
uv격리 워크트리(동시 세션 미커밋 변경 배제)에서 baseline(c9d1ad1) vs 1b(this) 측정:→ 1b 는 non-regressing(baseline ≥ 비교, sort 출하). directedness 관련 실패 0건.
Test plan
pytest -m "not e2e"→ 816 passed (+6 신규 1b 프롬프트/데이터흐름 테스트)ruff check ipe testsclean ·mypy --strict ipeclean (92 files)