feat(v2): 초급 문제 트랙 — 난이도 seed-파생 + is_basic-aware difficulty 완화 (E1+E2)#174
Merged
Conversation
기본 입출력·산술/논리·조건·반복 누적 등 초급 문제 생성. 별도 파이프라인 0 — 단일 엔진에 is_basic(seed) 파생 난이도 노브로 분기(P1/P2 modes-as-knobs 동형). - TargetAlgorithm + basic_io/arithmetic/conditional/loop_accumulate + is_basic() 분류(단일소스). 난이도=seed 파생(모순 불가·플러밍 0, request/state/CLI 무수정). - strategist: is_basic → 은닉/위장 대신 명확·직접 저작 + composition 팔레트 basic 제외. - formalizer: is_basic → 작은 입력·단순 구조·입력의존, 무거운 graph/sequence/edge 머신 배제. - qa_reviewer: is_basic-aware difficulty charter — '쉽다'고 막지 않고 진짜 퇴화만 (난이도-agnostic 원칙 코드화). 다른 QA kind·알고리즘 문제 무영향. 측정 P1 N=3: difficulty 완화 16%→75%, 스칼라(arithmetic/basic_io/conditional) 9/9(100%). 배열(loop_accumulate) 0/3 = N=0↔constraints 모순(sequence write-side, 후속 B). 비-basic seed byte-identical. 게이트 890 passed/mypy --strict 100/ruff green.
초급 문제의 스토리/도메인을 난이도처럼 orthogonal 축으로 분리. A+B 수준에 도메인
스토리는 군더더기이고 ambiguity(반올림·할인 부호 등)·domain 클러스터링의 원인이었다.
- config: ABSTRACT_DOMAIN 센티넬(단일소스 — strategist set, formalizer/narrative read).
- strategist: is_basic 에서 _easy_abstract(run_id) run-seeded 선택(abstract 선호 ~2/3),
abstract 면 domain 스탬프. domained 경로 byte-identical.
- formalizer: domain==abstract 면 추상 필드명(A,B,N,P)·수학적 output_format 지령
(narrative 와 io_schema 정합 — quantity↔N 불일치 QA reject 방지).
- narrative: domain==abstract 면 스토리 없이 변수로 맨 서술(_ABSTRACT_SYSTEM_PROMPT).
실 LLM smoke: abstract 3/3 출하('정수 A,B가 주어진다. A×B를 구하라' 류, 서술·형식 변수
일치). domained 도 출하. 게이트 893 passed/mypy --strict 100/ruff. 비-abstract byte-identical.
LsMin124
pushed a commit
that referenced
this pull request
Jun 25, 2026
… 초급 트랙) - meta: main/dev c59244a, tests 768→862 (v1 515 + v2 347 worktree 실측), version '단일 IR 아키텍처 · 초급 트랙' - summary: 단일 ProblemIR 아키텍처 Phase 2~5a 완결(IR validator+순수투영+백본 G0~G2, #172) + 초급 트랙(#174) + sequence 모순해소(#175) - recentPrs #156~175, backlog 출하율 재측정 트랙, NFR-6/stack.pytest 347 - 4 HTML 하드코딩 테스트수 862
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.
요약
기본 입출력·산술/논리·조건·반복 누적 등 초급(Bronze) 문제 생성 추가. 사용자 우려("초급용 별도 구성 = 일관 파이프라인 깨짐")에 직답 — 별도 파이프라인 0. 단일 v2 엔진에
is_basic(seed)파생 난이도 노브로 분기(P1/P2 modes-as-knobs 동형). RFC:docs/improvements/2026-06-25_easy-problem-track-rfc.md.변경
TargetAlgorithm+basic_io/arithmetic/conditional/loop_accumulate+is_basic()분류(단일소스). 난이도=seed 파생 → 모순 불가·request/state/CLI 무수정.측정 (P1 N=3)
스칼라 초급 9/9(100%). 배열(loop_accumulate)은 N=0↔constraints 모순(sequence write-side) → 후속 작업 B 필요(A↔B 결합 확증).
테스트 계획