AMENA 시연 UX 4탭 라이브 (2026-06-13)
개요
amena.crowny.org:9921 포털 4탭 시연 UX 완성 배포. 규칙기반 에이전트 집사(의도분류 6종 + 미매칭 정직한 옴) 핫패스 구현, 기존 맘원장 SSOT 재사용, 실사용자 전 동선 15단계 검증 그린. 모델분업: 페블(룰DB 적대), 오푸스(아키텍처 스펙), 소넷(한선씨 백엔드 포털서버 320→1225줄 + HTML 프론트엔드 + 날짜 회귀 수정), 하이쿠(콘텐츠 73레코드).
무엇을 했는지
1. 포털 한선씨 백엔드 (포털서버.한선)
- RPN 정본: 포털서버.rpn.한선 동반 생성(hanseonc_std 통일)
- 백업: 포털서버.bak-appux-20260613
2. 프론트엔드 (public/app.html)
- 규모: 33KB (3분할 p1~p3)
- 4개 탭:
3. 콘텐츠 데이터 (73레코드)
- 미션.dat: M1~M4 설명, 이미지, 보상(3/1/5/1맘)
- 퀴즈.dat: 30문항, 정답 유형, 오답 해설
- 성경플랜.dat: 30일 읽기 계획, 말씀 범위
- 연락처.dat: 9명 시드 프로필, 역할(멘토/학생/친구 등)
- 미션완료.dat: id|date|미션id 추적(dedup 가드)
- 메시지.dat: 채팅 히스토리
4. 배포 절차 (안전)
- 메인 세션이 워치독 일시중지 → 포털서버.toau 원자 mv 스왑 → 포털서버 재기동 → 워치독 복구
- 서브에이전트 기동 휘발 함정 회피
관련 파일
| 파일 | 위치 | 규모 | 설명 | ||
|---|---|---|---|---|---|
| 포털서버.한선 | /Users/ef/crowny-amena | 1225줄 | 백엔드 메인 로직 | ||
| 포털서버.rpn.한선 | /Users/ef/crowny-amena | — | RPN 정본 | ||
| 포털서버.bak-appux-20260613 | /Users/ef/crowny-amena | — | 이전 버전 백업 | ||
| app.html | /Users/ef/crowny-amena/public | 33KB | 프론트엔드 4탭 | ||
| 미션.dat | /Users/ef/crowny-amena/data | — | 미션 콘텐츠(M1~M4) | ||
| 퀴즈.dat | /Users/ef/crowny-amena/data | — | 30문항 퀴즈 | ||
| 성경플랜.dat | /Users/ef/crowny-amena/data | — | 30일 읽기 계획 | ||
| 연락처.dat | /Users/ef/crowny-amena/data | — | 9명 시드 프로필 | ||
| 미션완료.dat | /Users/ef/crowny-amena/data | — | 완료 추적(id\ | date\ | mid) |
| 메시지.dat | /Users/ef/crowny-amena/data | — | 채팅 히스토리 |
시연 동선 (15단계 검증 그린)
1. 가입 (신규 사용자)
↓
2. 로그인 (인증)
↓
3. 인사 발화 (+1맘, 일 1회)
↓
4. 같은 인사 재발화 (0맘, 중복 차단)
↓
5. 미매칭 의도 ("도움말") → 옴 응답
↓
6. 미션목록 조회
↓
7. M1 완료 (+3맘)
↓
8. M1 다시 완료 (dup, 0맘)
↓
9. 퀴즈 정답 선택 (+2맘)
↓
10. 연락처 9명 표시
↓
11. 연락처에 메시지 발송
↓
12. 자동답장 수신 (역할기반)
↓
13. M4(채팅) 자동완료 (+1맘)
↓
14. 지갑 조회 (누적 7맘 / 178원)
↓
15. 게이트웨이 HTTPS 8443(SNI) → 200 OK
검증 결과
✅ 모든 단계 그린
| 검증 항목 | 결과 | 상태 |
|---|---|---|
| 규칙 집사 의도분류 6종 | 정확 분류 | ✅ |
| 인사 중복 차단 | +1맘 일 1회만 | ✅ |
| 미매칭 정직한 옴 | "도움말" → 옴 응답 | ✅ |
| M1 완료 적립 | +3맘 | ✅ |
| M1 중복 방지 | dup, 0맘 | ✅ |
| 퀴즈 정답/오답 | +2맘 + 해설 | ✅ |
| 채팅 역할기반 자동답장 | 9명 응답 | ✅ |
| M4 자동완료 | 첫 메시지 발신 시 +1맘 | ✅ |
| 지갑 누적 조회 | 7맘 / 178원(÷2 패턴) | ✅ |
| 게이트웨이 HTTPS 8443 | SNI 200 OK | ✅ |
| 서버 날짜 정확성 | OS date + 캐시 | ✅ |
| 중복 완료 멱등 | dedup 확인 | ✅ |
발견 및 수정
| 항목 | 원인 | 해결 |
|---|---|---|
| 도구 입력 한 줄형 무출력 | 이전 라운드 버퍼 미초기화 | 라운드 캡처 수정 |
| 서버 날짜 6일 오차 | 에포크 수동 산술 오류 | OS date + 600초 캐시로 근본수정 |
| 아니면{} 체인 35중첩 파서 한계 | 조건 깊이 제한 | 평탄화 패턴 적용(if-elif 반복) |
| 나눗셈 회귀 우려(÷2) | crownyc divbug 잔여 | 반값 패턴(×25.5) 우회 |
배포 및 하드닝
- 워치독 안전 배포: 포털 세션이 워치독 일시중지 → toau 원자 스왑(mv) → 재기동 → 워치독 복구
- 가드레일 템플릿 반영: 모든 신규 발견 사항을
~/.claude/templates/한선씨-가드레일.md에 백포트
잔여 이슈
- M3 수학진단: 버튼 완료(UI)만 구현. 9922 진단서버 실연동은 다음 라운드.
- 맘원장 누적 경합: 포털 서버와 학습엔진 동시 적립 시 중복 가능성. 합산형 조회로 전환 필수 (백로그).
- 자율경영 룰DB 관리서버 연동: libs/자율경영규칙_셀코어.한선 기반 관리 UI(next round).
관련 이전 작업
- project_crowny_amena.md — AMENA 1단계 완성
- project_crowny_reward_plan.md — 맘 보상 체계
- feedback_crownyc_divmod_bug.md — 나눗셈 회귀(6월 10일 수정완료)
문서 생성: 2026-06-13 포털 URL: amena.crowny.org:9921/app 라이브 배포 완료: ✅
라운드2 (2026-06-13 오후) — M3 진단 실연동 + 지갑 경합 근본수정
모델분업 확정
- 페블: 설계·검증·배포관리
- 소넷: 한선씨 구현 (포털서버.한선 r2)
- 하이쿠: 문서 작성
1. M3 수학진단 실연동 (포털서버.한선 r2)
- 신규 API: POST /api/mission/diagnose
- 동작: 포털이 9922 분석서버를
curl -m 5사이드카로 실호출 (소켓 직접호출은 recv 타임아웃 없어 행(hung) 위험 → curl 경유로 회피) - 응답 처리: 8역량 점수 → 종합점수·약점역량·처방 수신 후 M3 완료(+5맘)
- 오류 처리: 9922 무응답 시 정직한 실패(quad A) 반환, 가짜 완료 금지
- UI 수정: app.html M3 카드를 8역량 슬라이더 모달로 교체
2. 지갑 경합 근본수정
- 문제: 맘원장.dat 마지막 누적컬럼을 신뢰했으나, 포털(9921)과 학습엔진(9926)이 동시 append 시 누적컬럼 경합으로 잔액 어긋남
- 근본 해결: 잔액 조회를
누적컬럼 마지막값→id 매칭 전체 줄의 증감컬럼 합산형으로 전환 - 검증: 누적컬럼을 99999로 오염시켜도 합산 잔액 정확 (5+10=15, krw 382)
3. 검증 결과 (전 동선 그린)
- M3 진단 실호출: 종합점수 55·약점 추론증명·처방 정상 수신 ✅
- Dedup 무중복: 재호출 시 +0 ✅
- 합산형 잔액: 정확 ✅
- 게이트웨이 HTTPS 8443: 정규도메인으로 301 리다이렉트 (정상,
-L추적 시 200) ✅ - 직접 포트 9921: 200 OK ✅
4. 백업 및 RPN 정본
- 백업: 포털서버.한선.bak-r2-20260613
- RPN 정본: 포털서버.rpn.한선 갱신
5. 잔여 (백로그)
- 맘원장 누적컬럼: 호환 위해 계속 기록하되, 조회는 합산형 사용 (쓰기 단순화는 별도)
- M3 간이입력: 8역량 슬라이더 간단 입력 구현 (정밀 진단은 9922 전체 플로우 연동 미완)
- 자율경영 룰DB 관리서버: :9923 연동 미완