Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions ipe/v2/nodes/formalizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@
- 알고리즘/도메인을 **재결정하지 말 것** — 시드의 reduction_core/composition/domain
은 이미 동결되어 그대로 유지된다. 당신은 입출력 형식과 불변식만 형식화한다.
- io_schema 는 정답을 노출하지 않는 **중립 형식 계약** 이어야 한다 (은닉 유지).
- **output_format 은 도메인 의미가 아니라 인쇄 구조만 서술**한다: 출력 타입·개수·형식
(예: '한 줄에 정수 하나', '공백 구분 정수 여러 개'), 1-indexed/0-indexed 위치인지,
해 없음 sentinel(-1 등)만 명시하라. **그 값이 도메인에서 무엇을 뜻하는지(예: '누적
수확량' vs '단위 수확량', '최소 비용' vs '최대 이익')는 쓰지 말 것** — 답의 도메인
의미는 narrative(지문)가 단일 저작한다. output_format 에 도메인 해석을 박으면
narrative 가 같은 의미를 독립 서술해 'output_format↔description' 용어 드리프트로 QA
ambiguity reject 된다(실측). 구조만 쓰면 어떤 도메인 서술과도 모순되지 않는다.
- output_invariants 는 정답 검증에 쓰일 만큼 구체적이되 풀이를 누설하지 않게.
- graph 입력은 **self-contained 단일 필드** 로 모델링한다 (weighted_edges/tree_edges
는 V·E 헤더를 자체 포함 — 정점 수 V 를 별도 int 필드로 분리하지 말 것: 입력 생성기
Expand Down Expand Up @@ -166,6 +173,9 @@
matrix/grid 같은 복잡 구조와 graph_shape/sequence_shape/string_shape 핀을 **쓰지 말 것**
— 기초 입출력·산술·조건·반복은 그런 구조가 필요 없다.
- **출력은 반드시 입력에 의존**한다 — 입력과 무관한 상수 출력 금지(퇴화 → difficulty reject).
- **output_format 은 인쇄 구조만**(타입·개수·형식·sentinel) 서술하고, 그 값의 도메인
의미는 쓰지 말 것 — 의미는 narrative 가 단일 저작한다(output_format↔description 용어
드리프트 방지).
- 입력을 읽어 간단히 계산(합·차·비교·카운트·누적)해 출력하는 수준. 정렬·이분탐색·그래프
같은 알고리즘을 끌어들이지 말 것(끌어들이면 입문이 아니다).
- 퇴화/경계 입력의 특별 처리(빈 입력·N=0 등)를 **지어내지 말 것** — constraints 가 허용하는
Expand Down
Loading