북극성은 하나 — “내 조직이 나를 아는 앱.” 그 아래 문(門)의 문장 셋: 통증(단톡방은 누가 읽었는지 알려주지 않습니다) · 경계(겉은 동네, 속은 공동체) · 값(우벨이 파는 것은 전원이다). 나머지는 전부 화면의 문장이다 — 사랑방·홈·골목·성소.
죽인 것: “문은 셋, 몸은 하나.” 경계 문장과 같은 말을 숫자로 다시 하는 문장이고, 숫자를 품은 정의는 구조가 바뀌는 순간 거짓이 된다(“네 번째 정문을 짓지 않는다”는 논의가 이미 한 번 있었다). 소개 페이지의 서사 문단으로 강등 — 앞으로 제품 정의로 인용 금지.
빈 화면은 0을 보고하지 않는다 — 보는 사람이 지금 할 수 있는 다음 한 걸음이 있으면 그 하나만 내밀고, 없으면 비어 있음이 정상임을 한 줄로 말하고 물러난다.
“지표를 감추고 순서를 내민다”(개통 카드)와 “조용한 날도 좋은 날”(홈)은 싸우는 전략이 아니라 화면의 주어가 다른 것이다. 가르는 질문은 하나: 이 비어 있음을 채울 손이 보는 사람의 손인가? 그렇다 → 순서를 내민다. 아니다 → 안심시키고 물러난다. B·C절에 공식으로 푼다.
기본은 ①숨긴다. 관계를 세는 숫자(발걸음·단골·읽음·함께)의 0은 정보가 아니라 실패의 그림이다 — 그리지 않는다. 행위자 화면은 ②다른 것을 센다 — 없는 결과 대신 남은 순서를(“3단계 중 1”). 공동체 표면은 ③혼자여도 성립하는 문장으로 바꾼다.
성소 판정: ‘함께’를 세는 숫자는 2부터만 숫자다. “함께 불을 밝히는 0명”은 함께가 없음을 큰 글씨로 증명하는 문장이다. n<2이면 그 절을 통째로 지우고 “직분은 여기서 지워집니다”만 남긴다 — 이 문장은 혼자여도 참이다.
따뜻함은 사실에 붙은 온도다: 사실 한 줄이 먼저 오고, 정서는 반 줄로 뒤에 붙는다. 느끼함의 세 신호 — ①사실이 빠지고 정서만 남음 ②앱이 사용자의 감정을 대신 판정함 ③앱이 타인의 마음이나 행동을 대신 말함.
오늘 선을 넘은 실제 문장: 오늘 한마디를 걸어두면 지나는 이웃이 읽어요(MyShopCard.tsx — 발걸음 실측 0인데 타인의 행동을 현재형으로 약속) · 놓치지 않게 알려드려요(SarangbangInbox.tsx — 앱 밖의 사람에게는 지킬 수 없는 결과 보증). “조용한 날도 좋은 날이에요”는 선 위에 서 있다 — 홈 한 곳에서만 허용하고, 이 문형(“~한 날도 좋은 날”)의 복제는 금지한다.
검사법 한 줄: “이 문장이 말하는 사건을 오늘 DB에서 한 행이라도 보여줄 수 있는가 — 없으면 아직 못 쓰는 문장이다.”
오늘의 사고 셋(“가는 중이에요” = 설계 문서의 말이 사실처럼 인용됨 · “주인에게 전해뒀어요” = 받을 사람이 앱 밖 · “차액은 교회가 채웁니다” = 승인 없는 돈 약속)의 공통점은 주어가 남이라는 것이다. 시스템이 지금 하는 일만 현재형을 쓸 수 있다. 타인의 행동·미래의 기능·돈은 E절의 금칙 문형이다.
/living-church-os의 서사 문단으로만 남고, 정의로 인용 금지.| 유형 | 판정 질문 | 공식 | 실제 예 |
|---|---|---|---|
| ① 받는 화면 홈 · 사랑방 목록 |
채울 손이 남의 손이다. 내가 할 일이 없다. | [오늘의 사실 한 줄] · [비어 있음이 정상이라는 반 줄] CTA 없음 · 숫자 없음 |
오늘 도착한 건 없어요 · 조용한 날도 좋은 날이에요 유지 |
| ② 행위자 화면 콘솔 · 소식 · 명부 · 개통 카드 |
채울 손이 보는 사람의 손이다. | [없다는 사실] + [하나 하면] → [무엇이 달라지나] 지표를 감추고 순서를 내민다 |
아직 보낸 광고가 없습니다. 위에서 하나 보내면, 읽은 사람과 못 읽은 사람이 여기 쌓입니다. 모범 |
| ③ 기다리는 화면 내 가게 — 내 일은 끝났다 |
내가 할 일은 이미 했고, 남을 기다린다. | [이미 선 것의 확인] + [내가 더 할 수 있는 하나] ⚠타인의 행동을 약속하지 않는다 |
문패는 이미 골목에 서 있어요 유지 — 단, 부제는 수리(아래 4번) |
| ④ 홀로 화면 성소 |
집계 자체가 이 방의 결과 어긋난다. | 혼자여도 참인 문장만. ‘함께’ 숫자는 2부터만 숫자다 |
n<2 → 직분은 여기서 지워집니다만 남긴다 |
| # | 파일 | 지금 문장 | 바꿀 문장 |
|---|---|---|---|
| 1 | app/my/sanctuary/page.tsx:36 | 함께 불을 밝히는 0명 · 직분은 여기서 지워집니다 | n<2: 직분은 여기서 지워집니다 n≥2: 함께 불을 밝히는 N명 · 직분은 여기서 지워집니다 |
| 2 | app/my/MyShopCard.tsx:80 | 오늘 한마디를 걸어두면 지나는 이웃이 읽어요 발걸음 실측 0 — 이웃의 행동을 약속 |
오늘 한마디를 걸어두세요 — 문패 아래에 함께 걸려요 시스템이 하는 일만 말한다 |
| 3 | app/my/messages/SarangbangInbox.tsx:123 | 조용한 방이에요 · 종이 울리면 놓치지 않게 알려드려요 앱 밖의 사람에게 지킬 수 없는 결과 보증 |
조용한 방이에요 · 새 말이 오면 종이 울려요 기제를 말하고 결과는 약속하지 않는다 |
| 4 | app/admin/o/[slug]/roster/page.tsx:114 | 아직 등록된 구성원이 없습니다 행위자 화면인데 다음 걸음이 없다 — ②공식 위반 |
아직 등록된 구성원이 없습니다. 쓰던 명단을 그대로 올리면 여기부터 채워집니다. 개통 카드의 말(“쓰던 엑셀 그대로”)과 같은 결 |
app/shop/mine/page.tsx:117의 “아직 첫 발걸음을 기다려요”는 ③공식에 맞아 유지 — 단, 같은 칸에 발걸음 0을 숫자로 함께 그리지 않는 조건이다.
기준: 사실이 먼저, 정서는 반 줄로 뒤에. 앱은 자기가 한 일만 말하고, 남의 마음·행동·미래는 말하지 않는다.
선 위의 문장. “조용한 날도 좋은 날이에요”는 앱이 감정을 판정하는 문형이라 원래 금지선인데, 홈 ①공식의 원본 한 곳으로만 허용한다. 파생 금지 — “쓸쓸한 날도 괜찮아요”류가 두 번째로 나타나는 순간 느끼함이 시작된다.
느낌표 · 본문 이모지 · “지금 바로” · “드디어” · “완벽” · “최고” · “곧”(기능 출시 약속) · 앱의 1인칭 생색(“제가 ~해뒀어요”) · vocab 낱말 앞 합성 접두(“각·소속·하위”+orgVocab 낱말 — 그 자리는 unit* 필드의 몫, lib/orgVocab.ts 주석의 규칙) · 조사 직접 표기(“을(를)” — lib/korean.ts의 particle()을 거친다).
orgVocab에서 왔는가, 조사는 particle()을 거쳤는가, 느낌표·이모지·감탄이 없는가?긴 문장은 템플릿 문자열 한 덩어리로 — JSX 줄바꿈이 공백을 삼킨 사고가 이미 있었다(/union).