25주차 미리보기
W25 미리보기 · 웹소설 본편

STARRY PASS 21 — 두 금고와 하나의 붉은 스위치

한 줄을 되돌리고 같은 시험으로 첫 누적 Green을 향했다

범위개요 + D1–D6 · 월–토p2–p48 상단 — W25 개요 + D1–D6
정본 상태SOURCE AUDIT PASSPDF·package·display byte 폐쇄
실행 상태W25 D1–D6 RUNTIME NOT_RUNruntimeRunsByPreview=0

strict D1–D6 초회 예상시간은 8시간 50분–16시간 20분입니다. Q41과 W25-S1 150분은 D5·D6 합계에 이미 포함됩니다. 전체 코드 inventory는 canonical 10개·illustrative 9개, aggregate 19/771/700/0/700/700/74/2/0, source-local tests=2·testsExecuted=0입니다. strict F01–F18은 canonical 10개·illustrative 8개입니다.

월요일, STARRY의 연습실 바닥에 두 줄의 레일이 나타났다. 증권과 카드, 둘 다 배울 수는 있었지만 실제 도장은 한 줄에만 찍을 수 있었다. 화면의 출발점은 증권이었다. 니지카는 그 표시 아래 작은 글씨를 덧붙였다. “기본값은 선택 증거가 아니다.”

니지카가 화면을 확인하는 공식 장면컷 — 학습 서사는 비공식 구성
공식 장면컷은 분위기용이며, STARRY의 사건·대사·기술 수치는 원문 감사에 따른 비공식 학습 구성입니다.
두 갈래를 읽어도 실행 도장은 하나뿐이다 — D1 · SECURITIES 기본 · exactly one selected branch
그림 한눈에: 정확히 한 branch만 EXECUTE_AND_PROVE이고 다른 branch는 N-A_UNSELECTED입니다.

두 레일의 모양은 달라도 보존해야 할 합계는 같았다. 현금 금고는 available과 reserved, 카드 금고는 available과 used를 합쳐 시작 금액을 지켜야 했다. 1,000에서 300을 옮기면 700과 300이 남아야 했다.

두 금고는 같은 합계 보존을 다른 이름으로 말한다 — SEC available+reserved · CARD available+used
그림 한눈에: 증권 reserve와 카드 hold의 1,000→700+300 불변식을 나란히 비교합니다.

Prepare는 시험지와 fixture만 learner 책상에 놓았다. 답안이 될 production target은 건드리지 않았다. decision과 manifest, 현재 asset hash와 반대·미래 package 부재를 확인하는 계약일 뿐 새 XML을 만들지는 않았다.

Prepare는 시험지를 놓고 답안 파일에는 손대지 않는다 — D1 · test·fixture install · production target no-copy
그림 한눈에: test·fixture 설치와 learner target no-copy 경계를 분리합니다.

화요일, 히토리는 일부러 고장 난 starter를 선택한 branch 한 파일에 직접 입력했다. LF와 CRLF는 같은 악보로 보았지만 BOM, 토큰, 공백이 달라지면 canonical hash가 문을 닫았다. 증권은 available 차감을, 카드는 used 증가를 일부러 빠뜨린 상태였다.

고장 난 한 줄도 정확히 같은 source여야 한다 — D2 · manual entry · canonical hash · UTF-8 no BOM
그림 한눈에: manual entry와 개행 정규화, BOM·토큰 변경 거절 규칙을 봅니다.
카운터에 멤버들이 모인 공식 장면컷 — 학습 서사는 비공식 구성
공식 장면컷은 분위기용이며, STARRY의 사건·대사·기술 수치는 원문 감사에 따른 비공식 학습 구성입니다.

수요일, 료는 정확한 selector 하나만 실행하는 붉은 스위치를 눌렀다. native Gradle은 nonzero로 끝나야 했고 XML에는 test 하나, failure와 error의 합 하나, skip 0이 남아야 했다. 단순한 compile error는 업무 반례를 본 것이 아니어서 통과하지 못했다.

Red는 실패 한 개가 업무 반례를 정확히 가리켜야 한다 — D3 · exact selector · tests1 · failure+error1
그림 한눈에: exact selector·native exit·JUnit count·RED_EXPECTED marker가 한 반례를 가리킵니다.

Red XML은 다음 cleanTest가 지우기 전에 따로 보관해야 했다. state의 xmlSha256은 지문이지 원본 bytes가 아니었다. 원문 경로의 이중 slash는 화면에서 단일 slash로 정리했지만 source typo였다는 경계는 남겼다.

목요일, 고장 난 금고에 빠졌던 한 부품을 되돌렸다. 증권은 availableCash에서 amount를 빼고, 카드는 usedAmount에 amount를 더했다. solution hash와 raw diff가 맞아도 아직 Green은 아니었다. 오늘은 source identity, 내일은 같은 test의 실제 실행이었다.

해결책은 빠진 상태 전이 한 줄을 되돌린다 — D4 · SEC subtract · CARD add · hash-only phase
그림 한눈에: 두 branch의 한 줄 수정과 SolutionVerified·D5 Green 소유권을 분리합니다.
멤버들이 함께 의논하는 공식 장면컷 — 학습 서사는 비공식 구성
공식 장면컷은 분위기용이며, STARRY의 사건·대사·기술 수치는 원문 감사에 따른 비공식 학습 구성입니다.

금요일, 같은 selector가 다시 울렸다. 이번에는 native exit 0, test 하나, failure·error·skip 모두 0이어야 했다. 오래된 BUILD SUCCESSFUL 한 줄이나 다른 branch의 XML은 쓸 수 없었다.

같은 시험이 같은 반례를 더는 찾지 못해야 Green이다 — D5 · native exit0 · tests1 · status totals0
그림 한눈에: 같은 one-test selector의 fresh native·XML Green 계약을 확인합니다.

옆 칠판의 Q41은 다른 종류의 문이었다. 계좌 snapshot과 opening entry를 포함한 ledger signed sum을 계좌 grain에서 비교해 difference가 있는 계좌만 한 행으로 내보내야 했다. 하지만 원문에는 정답 query도 실행 결과도 없었다.

장부 합계와 잔액 사진의 차이를 계좌별로 찾는다 — D5 · Q41 prompt-only · opening entry 포함
그림 한눈에: account grain의 snapshot·ledger 합계와 prompt-only 실행 경계를 봅니다.

토요일, 첫 누적 회귀의 목록은 놀랄 만큼 짧았다. W25부터 현재 W25까지, 선택 track의 selector 하나. W24 공통 core와 반대 track, 미래 주차는 숫자에 들어가지 않았다.

첫 누적 회귀의 범위는 W25 한 selector다 — D6 · W25..W25 · selector_count=1
그림 한눈에: W25..W25 selector_count=1과 exact suite status totals 0을 확인합니다.

마지막 봉투 W25-S1은 독립 평가자가 문제를 넣기 전까지 BLOCKED_BY_EVALUATOR였다. 미노출 algorithm 세 문제와 SQL 한 문제를 150분 안에 풀되 prompt 10필드, first evidence 16필드, D+2 retrieval 19필드를 서로 다른 파일과 hash로 봉인해야 했다. local validator는 공식 사이트에 로그인하지 않으므로 결과는 USER_ATTESTED_NOT_AUTOMATICALLY_VERIFIED였다.

봉인은 문제·답·공식 결과의 소유자를 분리한다 — D6 · W25-S1 · 3 algorithm + 1 SQL · 150m
그림 한눈에: 3+1 sealed 구성과 prompt·first·D+2·공식 판정의 소유권을 분리합니다.

히토리는 p48 상단에 선을 긋고 적었다. “W25 D1–D6 RUNTIME NOT_RUN. p48 하단 Review와 p53–55의 최종 Gate는 아직 다음 문이다.”

W25 미리보기 · 히토리 질문 노트

히토리의 질문 노트 — STARRY PASS 21

본편의 selected-track 계약, starter Red, 한 줄 solution, 같은 selector Green, Q41, W25-S1 sealed evidence를 정확한 owner와 증거 경계로 다시 연결합니다. 모든 답은 p2–p48 상단 — W25 개요 + D1–D6에 한정합니다. 현재 W25 D1–D6 RUNTIME NOT_RUN·runtimeRunsByPreview=0이며 Q41은 PROMPT_ONLY · NOT_RUN, W25-S1은 BLOCKED_BY_EVALUATOR, official status는 USER_ATTESTED_NOT_AUTOMATICALLY_VERIFIED입니다.

1. 이번 미리보기의 strict PDF 범위는 어디인가요?

답: p2 W25 개요부터 p48 상단 D6 최종 Gate 네 항목까지입니다.

근거: 정확한 표기는 p2–p48 상단 — W25 개요 + D1–D6입니다. D1 p3–7, D2 p8–17, D3 p18–22, D4 p23–31, D5 p32–37, D6 p38–p48 상단입니다.

오답 함정: p48 한 페이지에 D6 끝과 D7 시작이 함께 있으므로 페이지 전체를 포함하면 안 됩니다.

범위 한계: p48 하단 D7, p53–55 주간 통합·해설·Green Gate, p56 W26은 제외합니다.

실제 기술 이름mixed-page semantic boundary for W25 overview and D1-D6

2. D1–D6 예상시간과 최초 계획 기간은 무엇인가요?

답: 합계는 8시간 50분–16시간 20분, 즉 530–980분이며 최초 계획은 2026-12-28~2027-01-03입니다.

근거: D1 60–110, D2 90–165, D3 85–155, D4 105–200, D5 100–190, D6 90–160분을 더합니다.

오답 함정: W25 전체 9시간 35분–17시간 40분은 D7 45–80분을 포함합니다.

범위 한계: Q41과 W25-S1 150분은 각각 D5·D6 합계에 이미 포함되어 중복 가산하지 않습니다.

실제 기술 이름bounded D1-D6 active-time total without double counting integrated blocks

3. 증권 기본값과 실제 선택 완료는 어떻게 다른가요?

답: 화면 기본은 선택 트랙 · 증권(SECURITIES) UI 기본이지만 실제 완료는 selected-track.csv와 근거가 있는 정확히 한 branch입니다.

근거: 원문 p4도 SelectedTrack=SECURITIES를 선호 기본값으로 두지만 CARD로 직접 바꿀 수 있다고 명시합니다.

오답 함정: 증권이 기본 표시된다는 이유로 이미 SECURITIES 실행·Gate·포트폴리오 claim이 생겼다고 보면 안 됩니다.

범위 한계: 선택 branch만 EXECUTE_AND_PROVE이고 다른 branch는 N-A_UNSELECTED입니다.

실제 기술 이름source-aligned securities UI default separated from evidence-backed branch selection

두 갈래를 읽어도 실행 도장은 하나뿐이다 — D1 · SECURITIES 기본 · exactly one selected branch
그림 한눈에: D1 · SECURITIES 기본 · exactly one selected branch.

4. SOURCE AUDIT PASS가 learner runtime Green을 뜻하나요?

답: 아닙니다. 현재 상태는 W25 D1–D6 RUNTIME NOT_RUN이고 runtimeRunsByPreview=0입니다.

근거: PDF·package·display source의 범위와 byte 경계를 닫았을 뿐 Gradle·JUnit·PostgreSQL·외부 제출을 실행하지 않았습니다.

오답 함정: 코드 문서에 phase marker와 예상 결과가 보인다는 이유로 실제 evidence로 읽으면 안 됩니다.

범위 한계: Q41은 prompt-only, W25-S1은 BLOCKED_BY_EVALUATOR이며 공식 결과는 USER_ATTESTED 수준입니다.

실제 기술 이름static source closure versus learner-owned runtime and external evidence

5. SECURITIES와 CARD의 핵심 불변식은 무엇인가요?

답: 증권은 availableCash+reservedCash, 카드는 availableLimit+usedAmount가 동작 전후 보존되고 각 값이 음수가 아니어야 합니다.

근거: public test의 1,000에서 300 동작은 두 branch 모두 700과 300을 관찰합니다.

오답 함정: 이 합계 보존을 JPA 저장·DB 동시성·운영 복원력까지 증명하는 것으로 넓히면 안 됩니다.

범위 한계: packaged test는 pure domain unit test이며 선택한 한 branch의 한 scenario만 직접 판정합니다.

실제 기술 이름track-specific nonnegative conserved-sum domain invariant

두 금고는 같은 합계 보존을 다른 이름으로 말한다 — SEC available+reserved · CARD available+used
그림 한눈에: SEC available+reserved · CARD available+used.

6. D1 Prepare가 실제로 설치하고 금지하는 것은 무엇인가요?

답: 선택한 현재 주차 public test·fixture만 설치하고 learner-owned production target은 자동 복사하지 않습니다.

근거: decision·manifest·current asset hash와 opposite/future leak를 검사한 뒤 phase=Prepared를 기록하는 계약입니다.

오답 함정: Prepare 체크리스트의 목표 최종값을 실제 JUnit 실행 결과로 읽으면 안 됩니다.

범위 한계: Prepare는 새 test/XML을 만드는 execution phase가 아니며 이번 preview에서도 NOT_RUN입니다.

실제 기술 이름selected test fixture installation with production-target no-copy ownership

Prepare는 시험지를 놓고 답안 파일에는 손대지 않는다 — D1 · test·fixture install · production target no-copy
그림 한눈에: D1 · test·fixture install · production target no-copy.

7. selected-track.csv의 exact one 계약은 무엇인가요?

답: selected_track, decided_at, rationale, evidence 네 열과 정확히 한 data row가 필요합니다.

근거: track은 SECURITIES 또는 CARD, 시각은 timezone 포함, rationale은 trim 후 최소 20자, evidence는 learner root 안 nonempty 파일입니다.

오답 함정: 두 row를 넣거나 두 branch를 모두 EXECUTE_AND_PROVE로 표시하면 안 됩니다.

범위 한계: runtime은 evidence 파일 존재를 보지만 이유의 사실성과 본문 일치를 자동 판단하지 않습니다.

실제 기술 이름exact-one CSV decision with bounded path and human rationale semantics

8. D2 starter 입력의 canonical hash 규칙은 무엇인가요?

답: 선택 starter 전체를 UTF-8 without BOM으로 직접 입력하며 LF와 CRLF만 같은 source로 봅니다.

근거: canonicalTextSha256은 개행을 정규화하지만 BOM·토큰·공백 변화는 hash mismatch로 닫습니다.

오답 함정: reference starter를 production target으로 복사하거나 일부 줄만 붙여 넣으면 안 됩니다.

범위 한계: StarterVerified는 source identity이며 compile 성공이나 exact Red를 뜻하지 않습니다.

실제 기술 이름newline-normalized canonical source identity with raw hash evidence

고장 난 한 줄도 정확히 같은 source여야 한다 — D2 · manual entry · canonical hash · UTF-8 no BOM
그림 한눈에: D2 · manual entry · canonical hash · UTF-8 no BOM.

9. SECURITIES starter의 의도적 결함은 무엇인가요?

답: reserve에서 availableCash -= amount가 빠져 reservedCash만 늘어납니다.

근거: 1,000에서 300을 예약하면 starter는 available=1,000·reserved=300이 되어 총액이 1,300으로 부풀 수 있습니다.

오답 함정: 컴파일 오류나 guard 실패를 이 업무 Red와 같은 것으로 세면 안 됩니다.

범위 한계: 정확한 public test가 직접 assert하는 값은 available=700·reserved=300입니다.

실제 기술 이름cash reservation debit omission counterexample

10. CARD starter의 의도적 결함은 무엇인가요?

답: hold에서 usedAmount = Math.addExact(usedAmount, amount)가 빠져 사용액이 늘지 않습니다.

근거: 1,000 한도에서 300을 hold해도 starter는 used=0·available=1,000이라 반복 승인이 가능합니다.

오답 함정: 미선택 CARD 코드를 learner가 구현했다고 주장하면 안 됩니다.

범위 한계: 정확한 public test가 직접 assert하는 값은 used=300·available=700입니다.

실제 기술 이름card used-amount increment omission counterexample

11. 왜 VerifyStarter는 Red 실행 단계가 아닌가요?

답: 이 단계는 starter canonical/raw hash만 확인하고 Gradle/JUnit을 실행하지 않기 때문입니다.

근거: phase=StarterVerified 뒤 D3 RecordRed가 처음으로 exact selector와 XML을 소유합니다.

오답 함정: StarterVerified marker를 test failure 증거로 바꾸면 안 됩니다.

범위 한계: starter가 compile 가능한 결함인지도 실제 RecordRed가 XML을 만들 때 간접 확인됩니다.

실제 기술 이름hash-only starter verification before executable Red evidence

12. D3 exact Red의 필수 관찰값은 무엇인가요?

답: 선택 selector 한 개, native exit nonzero, tests=1, failures+errors=1, skipped=0과 정확한 RED_EXPECTED marker입니다.

근거: 증권은 W25_SECURITIES_RED_EXPECTED, 카드는 W25_CARD_RED_EXPECTED가 같은 assertion 반례를 가리켜야 합니다.

오답 함정: wildcard, 여러 suite, 평범한 FAIL 문자열, unrelated exception을 Red로 인정하면 안 됩니다.

범위 한계: stage wrapper의 성공은 예상 Red를 검증했다는 뜻이며 learner test 자체의 native exit는 nonzero입니다.

실제 기술 이름exact one-test expected-Red closure with native and XML evidence

Red는 실패 한 개가 업무 반례를 정확히 가리켜야 한다 — D3 · exact selector · tests1 · failure+error1
그림 한눈에: D3 · exact selector · tests1 · failure+error1.

13. 컴파일 오류가 Red로 인정되지 않는 이유는 무엇인가요?

답: 업무 반례 assertion까지 도달하지 못해 test가 결함을 구별했다는 사실을 증명하지 못하기 때문입니다.

근거: XML의 exact suite·method·failure marker가 available 또는 used 상태 불일치를 설명해야 합니다.

오답 함정: native exit가 0이 아니기만 하면 모두 좋은 Red라고 보면 안 됩니다.

범위 한계: 환경 오류·의존성 오류·test discovery 0건도 별도 실패로 복구해야 합니다.

실제 기술 이름business-assertion Red distinguished from build and discovery failure

14. Red XML은 왜 별도로 보존해야 하나요?

답: state의 xmlSha256은 지문일 뿐 원본 bytes가 아니고 다음 cleanTest가 XML을 덮어쓸 수 있기 때문입니다.

근거: evidence/w25/<selected>/red-native.txt와 exact XML archive·hash를 같은 phase에 묶어야 합니다.

오답 함정: hash만 남아 있으면 XML 원본도 보존됐다고 말하면 안 됩니다.

범위 한계: 원문 이중 slash 표기는 표시에서 단일 slash로 정규화했지만 source typo 경계는 공개합니다.

실제 기술 이름durable JUnit XML byte archive beyond state hash metadata

15. D4 solution의 한 줄 수정은 무엇인가요?

답: 증권은 availableCash -= amount, 카드는 usedAmount = Math.addExact(usedAmount, amount)를 추가합니다.

근거: 각 변경은 1,000에서 300 동작 뒤 700+300 합계를 되살립니다.

오답 함정: reference solution 전체를 자동 복사하거나 두 branch를 모두 개인 구현 성과로 세면 안 됩니다.

범위 한계: 실제 선택한 branch 하나의 manual entry와 source diff만 learner-owned claim이 됩니다.

실제 기술 이름single state-transition delta restoring conserved sum

해결책은 빠진 상태 전이 한 줄을 되돌린다 — D4 · SEC subtract · CARD add · hash-only phase
그림 한눈에: D4 · SEC subtract · CARD add · hash-only phase.

16. SolutionVerified가 아직 Green이 아닌 이유는 무엇인가요?

답: D4는 solutionCanonicalTextSha256과 raw diff를 확인하는 hash-only phase이고 test 실행은 D5가 소유합니다.

근거: state는 phase=SolutionVerified이며 RecordGreen 전에는 exact XML status totals가 없습니다.

오답 함정: 정본 solution과 byte가 같다는 사실을 learner runtime 통과로 바꾸면 안 됩니다.

범위 한계: 24–72시간 재검증의 새 10,000 test도 실제 disposable clone evidence가 있어야 claim할 수 있습니다.

실제 기술 이름solution source identity separated from executable Green ownership

17. 0/10,000 finalState와 public test 700/300은 왜 분리하나요?

답: manifest의 10,000 scenario와 packaged public test의 1,000/300 scenario가 서로 다른 입력을 쓰기 때문입니다.

근거: SEC public test는 available=700·reserved=300, CARD는 available=700·used=300만 직접 assert합니다.

오답 함정: public test Green 하나가 available=0·reserved 또는 used=10,000까지 자동 증명한다고 보면 안 됩니다.

범위 한계: 10,000 finalState에는 별도의 test·native transcript·XML/source hash가 필요합니다.

실제 기술 이름scenario-specific oracle separation between packaged test and manifest target

18. D5 RecordGreen의 exact 계약은 무엇인가요?

답: 같은 선택 selector가 native exit=0, tests=1, failures=0, errors=0, skipped=0이어야 합니다.

근거: fresh transcript와 exact XML을 phase=LearnerGreen에 연결하고 선택 branch의 700/300 값을 확인합니다.

오답 함정: BUILD SUCCESSFUL 한 줄, 오래된 transcript, 다른 branch XML을 Green으로 쓰면 안 됩니다.

범위 한계: 이 preview는 실행하지 않았으므로 목표 계약만 설명합니다.

실제 기술 이름same-selector one-test Green with zero status totals

같은 시험이 같은 반례를 더는 찾지 못해야 Green이다 — D5 · native exit0 · tests1 · status totals0
그림 한눈에: D5 · native exit0 · tests1 · status totals0.

19. Q41은 무엇을 한 행으로 반환하나요?

답: balance snapshot과 signed ledger sum이 다른 계좌를 불일치 계좌당 한 행으로 반환합니다.

근거: 출력은 account_id | snapshot_balance | ledger_sum | difference이고 opening entry를 포함한 정상 계좌는 difference=0이어야 합니다.

오답 함정: ledger row grain을 그대로 내보내 계좌가 중복되거나 opening entry를 합계에서 빼면 안 됩니다.

범위 한계: 원문은 prompt-only이고 canonical query·fixture 결과·실행 transcript를 제공하지 않습니다.

실제 기술 이름account-grain snapshot-versus-ledger reconciliation query contract

장부 합계와 잔액 사진의 차이를 계좌별로 찾는다 — D5 · Q41 prompt-only · opening entry 포함
그림 한눈에: D5 · Q41 prompt-only · opening entry 포함.

20. Q41 최초와 재검증 timebox는 왜 다르게 적나요?

답: 최초 D5 표는 40–70분, 24–72시간 재검증 카드는 40–75분이기 때문입니다.

근거: 두 수치를 한 값으로 합치지 않고 first path와 retrieval path에 각각 귀속합니다.

오답 함정: 둘 중 하나를 오타로 단정해 원문 차이를 숨기면 안 됩니다.

범위 한계: 첫 답안은 evidence/w25/sql-q41.sql, 재검증은 evidence/w25/retrieval/sql-Q41.sql입니다.

실제 기술 이름phase-specific SQL timebox and non-overwriting evidence paths

21. Java Green이 Q41 Green도 증명하나요?

답: 아닙니다. RecordGreen stage runtime은 PostgreSQL이나 Q41을 실행하지 않습니다.

근거: Q41 claim에는 psql native exit, query/transcript bytes·hash, output grain·row count가 별도로 필요합니다.

오답 함정: phase=LearnerGreen을 SQL 실행 완료와 합치면 안 됩니다.

범위 한계: 현재 Q41 상태는 PROMPT_ONLY·NOT_RUN입니다.

실제 기술 이름Java stage evidence isolated from PostgreSQL workbook execution

22. D6 W25 cumulative의 selector_count는 왜 1인가요?

답: 누적 범위가 W25부터 현재 W25까지라 선택 track의 W25 selector 하나뿐이기 때문입니다.

근거: exact suite 하나가 tests=1과 failure/error/skip 0을 내야 phase=CumulativeGreen 후보가 됩니다.

오답 함정: W24 공통 core, 미선택 track, 미래 주차 selector를 누적 수에 넣으면 안 됩니다.

범위 한계: Cumulative는 solution target hash를 새로 계산하지 않고 직전 state와 leak check에 의존합니다.

실제 기술 이름selected-track W25-to-W25 cumulative selector cardinality

첫 누적 회귀의 범위는 W25 한 selector다 — D6 · W25..W25 · selector_count=1
그림 한눈에: D6 · W25..W25 · selector_count=1.

23. W25-S1 sealed first-pass의 구성과 시간은 무엇인가요?

답: 독립 평가자가 지정한 미노출 공식 문제 정확히 4개, algorithm 3개와 SQL 1개이며 shared window는 150분 이하입니다.

근거: 문제 ID·URL만이 아니라 GOAL·INPUT·OUTPUT·signature/query·constraints·examples를 시작 전에 봉인합니다.

오답 함정: 평가자 입력 전에 문제를 임의 생성하거나 ID-only prompt를 유효한 문제 계약으로 인정하면 안 됩니다.

범위 한계: 현재 상태는 BLOCKED_BY_EVALUATOR이며 150분은 D6 예상시간에 이미 포함됩니다.

실제 기술 이름evaluator-owned sealed four-problem first-pass composition and shared window

봉인은 문제·답·공식 결과의 소유자를 분리한다 — D6 · W25-S1 · 3 algorithm + 1 SQL · 150m
그림 한눈에: D6 · W25-S1 · 3 algorithm + 1 SQL · 150m.

24. sealed evidence의 exact field 수는 어떻게 나뉘나요?

답: prompt-only 10개, first-attempt 16개, D+2 retrieval 19개 field입니다.

근거: prompt·manifest·solution·native transcript·official snapshot은 서로 다른 경로와 SHA-256으로 결합합니다.

오답 함정: 같은 파일을 덮어쓰거나 prompt에 접근법·의사코드·정답을 넣으면 안 됩니다.

범위 한계: 구조·hash·timing 검증은 문제의 신규성이나 evaluator 독립성을 완전히 증명하지 않습니다.

실제 기술 이름exact sealed prompt first-attempt retrieval schemas with distinct artifacts

25. local validator가 공식 Accepted를 자동 검증하나요?

답: 아닙니다. 공식 상태는 USER_ATTESTED_NOT_AUTOMATICALLY_VERIFIED입니다.

근거: validator는 URL host·ID·status·attestation·hash·timing의 일관성만 보고 Programmers에 로그인하지 않습니다.

오답 함정: local exit 0을 공식 사이트의 독립 확인으로 표현하면 안 됩니다.

범위 한계: 공식 screenshot·submission ID와 사람 확인이 있어도 제3자 API 검증과는 다릅니다.

실제 기술 이름local structural validation versus user-attested external official result

26. 최초 PASS와 FAIL의 D+2 상태는 어떻게 다르나요?

답: 최초 PASS는 retrieval 네 필드가 N-A_FAST_TRACK, FAIL은 PENDING_D+2 뒤 46–74시간에 새 답안으로 재시도합니다.

근거: first-pass는 PASS_FIRST_ATTEMPT, 모든 필요한 retrieval이 닫힌 뒤에만 PASS_LONG_TERM 후보가 됩니다.

오답 함정: PENDING_D+2를 즉시 실패 Gate로 보거나 PASS_FIRST_ATTEMPT를 장기 회수 완료로 부르면 안 됩니다.

범위 한계: 재검증도 blank-file solution·새 transcript·공식 snapshot·19-field manifest가 실제로 있어야 합니다.

실제 기술 이름fast-track and delayed sealed retrieval state machine

27. strict D1–D6과 전체 코드 inventory는 어떻게 다르나요?

답: strict는 F01–F18, 전체는 D7 F19까지 19 units입니다.

근거: 전체 aggregate 19/771/700/0/700/700/74/2/0, strict aggregate 18/746/677/0/677/677/71/2/0이며 순서는 units/physical/nonblank/setup/mapping/translation/chunks/source-local tests/testsExecuted입니다.

오답 함정: source-local test 2개를 이번 preview가 실행한 test 수로 세거나 F19 Review를 strict에 넣으면 안 됩니다.

범위 한계: 전체 canonical 10·illustrative 9, strict canonical 10·illustrative 8이며 testsExecuted=0입니다.

실제 기술 이름full versus strict source inventory with zero preview execution

28. D7과 주간 Green Gate를 왜 미리보기에서 제외하나요?

답: D7 Review·면접 녹음과 p53–55 통합·해설·최종 Gate는 strict D1–D6 뒤의 별도 소유권이기 때문입니다.

근거: D7은 p48 하단부터 p52이고 review entry는 기존 CumulativeGreen을 읽지만 새 Gradle/XML을 만들지 않습니다.

오답 함정: full 코드 링크에 Review marker가 있다는 이유로 audio·commit·최종 Green이 완료됐다고 말하면 안 됩니다.

범위 한계: 코드 뒤풀이는 full week를 보여 주지만 이 미리보기의 범위와 실행 상태는 넓어지지 않습니다.

실제 기술 이름strict preview boundary before human review and weekly integration