Files
document-haness/docs/TechLog/tech-log-studio/failure-drawn-as-absence/case/case-it-said-there-were-no-open-questions.md
T
DongHyeonkaandClaude Opus 5 f6c825e858 docs(TechLog): 글감 56개를 기록으로 쓴다
주제 13개 · Case 28 · Concept 5 · Reference 15 · Question 4 · Decision 4.
계약의 노드마다 종류가 요구하는 칸을 채우고, 본문이 있는 두 종류에는 SSOT 가 이미
그려 둔 도식 셋(value-boundaries · decision-path-404 · topic-variant-model)을
tech-log-studio/ 로 옮겨 붙였다. 새로 그린 그림은 없다.

검사 셋 전부 통과한다.
  check_body.mjs      56 편 중 본문이 있는 33 편 PASS
  check_prose.mjs     56 편 error 0
  check_evidence.mjs  --repo 포함 문제 없음
  verify-tech-log-tree.py  프로젝트 5 · error 0 · warn 0

인용한 코드블록은 전부 SSOT 에서 찾아 대조했다. check_evidence.mjs 가 본문의 각 줄과
source 앵커와 계약 제목을 다시 확인한다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 15:29:33 +09:00

3.7 KiB

kind, slug, title, topic, topicName, project, status, lastVerifiedOn, sourceRevision, source
kind slug title topic topicName project status lastVerifiedOn sourceRevision source
CASE it-said-there-were-no-open-questions 「이 프로젝트에 열린 질문이 없습니다」 — 실제로는 넷이 있었다 failure-drawn-as-absence 실패를 없음으로 그린다 TechLog 게시 전 2026-09-04 tech-log@2026-09-02
final/document.md#§10.1

「이 프로젝트에 열린 질문이 없습니다」 — 실제로는 넷이 있었다

홈 「지금 집중하는 것」 편집기가 「이 프로젝트에 열린 질문이 없습니다」라고 적었다. 실제로는 넷이 있었고 공개 사이트에도 나오고 있었다. 편집기가 질문과 결정을 못 읽으면 빈 배열로 삼키고 있었다.

관계

  • 화면은 못 읽은 것을 없다고 말하지 않는다 이 사건에서 굳힌 규칙이다.
  • 계약에 선언만 있고 구현이 없어 화면 다섯 곳이 비어 있었다 못 읽은 원인이 그 기록에 있다 — 컨트롤러가 없었다.
  • 한 칸의 실패가 옆 칸을 끌고 내려갔다 같은 편집기에서 난 다른 부류의 실패다.

문제

홈 편집기에서 「지금 집중하는 것」에 걸 질문을 고르려 했다. 목록이 비어 있고 「이 프로젝트에 열린 질문이 없습니다」가 적혀 있었다.

같은 프로젝트의 공개 사이트에는 질문 넷이 나오고 있었다.

결론

편집기가 질문과 결정 목록을 못 읽으면 빈 배열로 삼키고 있었다. 서버는 404 를 주고 있었다 — 그 두 연산에 컨트롤러가 없었다.

작성자에게는 「아직 안 쓴 것」으로 읽힌다. 실제로는 쓴 것을 못 읽은 것이다.

거짓말을 하느니 못 읽었다고 말한다.

못 읽었을 때 못 읽었다고 적게 고쳤다. 같은 판단을 주제 탭에도 적용했다 — 탭 하나를 못 받아도 탭 줄과 나머지는 그대로 남고, 못 받은 탭에는 못 받았다고 적는다.

검증 환경

tech-log-frontend : 7acde27 · 3bb724b tech-log-backend : 911e8ba — 없던 두 컨트롤러를 구현 확인 방식 : 편집기 목록과 공개 사이트의 같은 프로젝트를 대조

재현 조건

  1. 프로젝트에 Open Question 을 하나 이상 게시한다
  2. 그 목록을 주는 연산을 서버에서 막는다
  3. 홈 편집기를 연다 — 옛 코드에서는 「없습니다」가, 지금은 못 읽었다는 문구가 나온다

본문

빈 배열이 두 가지를 뜻했다

편집기는 질문 목록을 받아 고를 수 있게 그린다. 목록이 비면 「이 프로젝트에 열린 질문이 없습니다」를 적는다.

요청이 실패했을 때도 빈 배열이 되고 있었다. 그래서 「없다」와 「못 읽었다」가 같은 화면이 됐다.

작성자가 무엇으로 읽었나

작성자는 자기가 쓴 것과 화면을 대조한다. 화면이 「없습니다」라고 하면 아직 안 썼거나 게시하지 않았다고 읽는다.

이 경우에는 넷이 있었고 공개 사이트에도 나오고 있었다. 편집기만 못 읽고 있었다.

못 읽었다고 적는다

거짓말을 하느니 못 읽었다고 말한다.

요청이 실패하면 실패했다고 적는다. 0건은 0건이라고 적는다. 이 둘을 구분할 수 있어야 작성자가 다음에 무엇을 할지 정할 수 있다.

같은 판단을 다른 화면에

주제 탭에도 같은 판단을 적용했다. 탭 하나를 못 받아도 탭 줄과 나머지 탭은 그대로 그려지고, 못 받은 탭에는 못 받았다고 적는다.

확인하지 못한 것

화면이 못 읽은 것을 없다고 그리는 곳을 전수로 세지 않았다. 고친 것은 홈 편집기와 주제 탭 둘이다.