time.crowny.org — 크라우니력 + AI 수익 평준화 선언
개요
크라우니력의 철학·계산기·시나리오를 공개하는 글로벌 표준 사이트.
tiomta.com과 동일한 디자인 시스템을 적용해 크라우니월드 일관성 유지.
핵심 비전: 캄보디아 개발자가 한국 개발자와 동일한 단가로 AI에 작업을 시키고
보상받는 글로벌 표준. 지식의 평준화.
1. 서비스 등록
- 도메인:
time.crowny.org
- 포트:
9883 (gateway.yaml + PORTS.md 등재)
- 디렉토리:
/Users/ef/crowny-time/
- 서버: 한선씨 100%, JS 없음
2. 핵심 선언
1 크시 = 1 보상시간 = 1 크라우니달러
- 1 크시 = 53분 20초 = 3200 지구초 = 1 CRD = 1000 mCRD
- 시간 자체는 추적하지 않는다 — "1 크시 분량의 결과물" = 1 CRD
- 1 지구시간 = 1.125 크시 = 1125 mCRD = 1,687원 (1500원/CRD)
8/8/8 마당 — 균형의 시간
| 마당 | 4상 | 시간 | 의미 |
|---|
| 쉼 (休) | 타 -1 | 9 크시 (8h) | 수면·회복 |
| 연구 (硏) | 옴 0 | 9 크시 (8h) | 학습·설계 |
| 창조 (創) | 티 +1 | 9 크시 (8h) | 생산·구현 |
3. AI 수익 평준화 시나리오 (검증된 수치)
| 국가 | 본인월급 | AI임대 | AI매출 (720h) | 월 순증 |
|---|
| 캄보디아 | 200,000 | 300,000 | +1,215,000 | +1,115,000 |
| 필리핀 | 400,000 | 400,000 | +1,215,000 | +1,215,000 |
| 한국(시니어) | 5,000,000 | 500,000 | +1,215,000 | +5,715,000 |
→
AI 매출은 지역과 무관하게 동일 (1500원/CRD × 720h × 1.125 = 121.5만원).
저소득권일수록 본인 소득 대비 비중이 커진다 — 캄보디아는 +5.5배, 한국은 +1.14배.
4. 글로벌 가중치 (이중 배수)
기본 단가 고정 + 가산 인센티브 (감산 없음, 최저 100%).
지역 가중치 (9 티어)
| 티어 | 지역 | 배수 |
|---|
| 0 | 캄보디아·라오스 | 200% |
| 1 | 미얀마·네팔 | 175% |
| 2 | 방글라데시·파키스탄 | 150% |
| 3 | 필리핀·베트남 | 130% |
| 4 | 인도네시아·태국 | 115% |
| 5 | 말레이시아·터키 | 105% |
| 6-8 | 한국·일본·미국·EU·스위스 | 100% |
작업종류 가중치 (9 유형)
| 유형 | 종류 | 배수 |
|---|
| 0 | 단순반복 | 100% |
| 1 | 일반조사 | 110% |
| 2 | 콘텐츠생성 | 130% |
| 3 | 코드작성 | 150% |
| 4 | 코드리뷰 | 170% |
| 5 | 시스템설계 | 200% |
| 6 | 연구개발 | 250% |
| 7 | 통역번역 | 180% |
| 8 | 멘토링 | 220% |
검증 사례 (60분 작업, 환율 1500원/CRD)
- 한국 단순반복 (100%×100%): 1,687원
- 캄보디아 연구개발 (200%×250% = 500%): 8,435원
- → 캄보디아 연구자가 한국 단순반복자보다 5배 수익
5. 산출물
한선씨 라이브러리 (3종 신규)
| 파일 | 함수 | 용도 |
|---|
크라우니력철학.한선 | 4 | 시나리오 계산기 |
글로벌가중치.한선 | 7 | 지역·작업 이중 배수 |
시간서버.한선 | 7 | TCP 서버 + 라우터 |
| 페이지 | 라우트 | 내용 |
|---|
| 소개 | / | 히어로 + 27크시 + AI비전 카드 |
| 철학 | /철학, /philosophy | 6섹션 철학 본문 |
| 계산기 | /계산기, /calc | 인터랙티브 보상 + 월간 시뮬레이션 |
디자인 시스템
- 색상: 베이지(#FAF9F7) + 골드(#C9A961) + TOAU 4상색상
- 폰트: Pretendard Variable + JetBrains Mono
- 라이트/다크 모드 (localStorage 저장)
- 반응형 (640px 모바일 break)
6. 검증
컴파일 + 런타임
시간서버.toau = 362,404 바이트 (모든 의존성 포함)
- 라우트 7종 모두 200 OK 응답
- 한글 URL → 자동 인코딩 매칭, 영문 alias도 동일 응답
- API 응답 JSON 정상
라우팅 매트릭스
| 경로 | 한글 | 인코딩 | 영문 alias |
|---|
/ | ✓ | — | — |
/철학 | ✓ | /%EC%B2%A0%ED%95%99 | /philosophy |
/계산기 | ✓ | /%EA%B3%84%EC%82%B0%EA%B8%B0 | /calc |
/api/상수 | ✓ | /api/%EC%83%81%EC%88%98 | /api/constants |
/health | — | — | ✓ |
7. 학습 등록
- 패턴
크라우니력_철학_시나리오_AI수익평준화 학습완료
- 패턴
글로벌가중치_지역작업종류_배수 학습완료
- 패턴
time_crowny_org_정적서버_라우터 학습완료
8. 관련 파일
- 서버:
/Users/ef/crowny-time/시간서버.한선
- 컴파일된 바이너리:
/Users/ef/crowny-time/시간서버.toau
- HTML:
/Users/ef/crowny-time/public/{index,철학,계산기}.html
- CSS:
/Users/ef/crowny-time/public/styles.css
- 라이브러리:
/Users/ef/CrownyOS/crownyc/libs/{크라우니력철학,글로벌가중치}.한선
- 표준 배포:
/Users/ef/Downloads/CrownyTVM/std/{크라우니력철학,글로벌가중치,한시간보상}.한선
9. 가동 방법
bashcd /Users/ef/CrownyOS/crownyc
./crownyc run /Users/ef/crowny-time/시간서버.toau
# → time.crowny.org 서버 시작 — 포트 9883
브라우저: http://localhost:9883
10. Phase 2 완료 (2026-05-27)
LaunchAgent 자동 가동
~/Library/LaunchAgents/org.crowny.time.plist
launchctl load → KeepAlive=true → kill 후 자동 재시작 검증 완료
- 로그:
/tmp/crowny-time.log, /tmp/crowny-time.err
Gateway 라우팅 (4198-4225줄)
time.crowny.org → http://127.0.0.1:9883
- CORS (time/tiomta/crowny 출처), Rate(600/60s), 캐시(en/es/zh 1h)
node bin/cli.js validate 통과
다국어 9페이지 (서브에이전트 3개 병렬)
- 영어
/en/, /en/philosophy, /en/calculator — 5,704/7,572/8,503B
- 스페인어
/es/, /es/filosofia, /es/calculadora — 6,026/8,257/8,814B
- 중국어
/zh/, /zh/philosophy, /zh/calculator — 5,560/7,310/8,565B
- 모든 페이지: tiomta GUI 그대로, lang 속성 정상, 한선씨 코드블록은 한글 유지(헌법)
환율 실시간 피드 (환율피드.한선)
- 파일 영속화
/Users/ef/crowny-time/data/환율.dat
- 캐시 TTL 600초, 만료 시 stale 플래그
/api/rate, /api/환율 JSON 응답
- 외부 갱신자(cron/launchd)가
환율_저장 호출하는 구조
통합 검증 (16 라우트)
모든 라우트 200 OK + 각각 다른 컨텐츠.
/missing 만 404.
| 라우트 | 컨텐츠 크기 |
|---|
/, /철학, /계산기 | 5589 / 7667 / 8569B (한국어) |
/en, /en/philosophy, /en/calculator | 5704 / 7572 / 8503B |
/es, /es/filosofia, /es/calculadora | 6026 / 8257 / 8814B |
/zh, /zh/philosophy, /zh/calculator | 5560 / 7310 / 8565B |
/styles.css | 8881B |
/health, /api/rate | JSON |
11. Phase 3 완료 (2026-05-27)
저소득권 추가 언어 9페이지 (서브에이전트 3개 병렬)
| 언어 | 코드 | 라우트 | 크기 |
|---|
| 베트남어 | vi | /vi, /vi/triet-hoc, /vi/may-tinh | 6150/8709/9015B |
| 인도네시아어 | id | /id, /id/filosofi, /id/kalkulator | 5745/7950/8783B |
| 아랍어 RTL | ar | /ar, /ar/falsafa, /ar/hasiba | 7078/9879/9681B |
→ 총
7개 언어 21페이지. 비전 핵심(저소득권 타겟) 직접 구현.
환율 자동 갱신자
- 한선씨:
환율갱신자.한선 — 시세 검증(범위 체크)·안전 저장
- bash:
crowny-time/scripts/환율갱신.sh — Yahoo Finance USD/KRW fetch
- LaunchAgent:
org.crowny.time-fxrate.plist — 10분 주기 (StartInterval 600)
- 검증: 정상값 통과, 이상치 자동 거부
자동 언어 감지 (/auto)
- Accept-Language 헤더 파싱 → 첫 2글자 추출 → 적절한 prefix 매칭
- 307 Temporary Redirect 응답
- 7개 언어 검증: ko/en/es/zh/vi/id/ar 모두 정확
RTL CSS 보정
- styles.css에
[dir="rtl"] 셀렉터 추가
- 네비/표/카드/계산기 결과 자동 보정
- 코드 블록은 LTR 유지 (한선씨 키워드)
통합 검증 (25 라우트)
- 24개 200 OK + 1개 404 (
/missing)
- 7개 자동 감지 라우트 모두 307 정확 매핑
- 모든 페이지 다른 컨텐츠 크기 = 실제 다른 페이지 서빙
12. Phase 4 완료 (2026-05-27)
추가 언어 4종 (서브에이전트 4개 병렬, 총 11언어 33페이지)
| 언어 | 코드 | 라우트 | 크기 |
|---|
| 벵골어 | bn | /bn, /bn/dorshon, /bn/calculator | 7981/11938/10178B |
| 우르두어 RTL | ur | /ur, /ur/falsafa, /ur/hisaab | 6732/9759/9293B |
| 일본어 | ja | /ja, /ja/tetsugaku, /ja/keisanki | 5698/7895/8722B |
| 포르투갈어 BR | pt | /pt, /pt/filosofia, /pt/calculadora | 6028/8172/8858B |
→ 누적
11개 언어 33페이지 + 11언어 자동감지.
balance.crowny.org 정산 연동 (보상정산.한선)
- 느슨한 결합 — 정산 큐 파일에 적재, balance가 가동되면 가져감
- 큐 파일:
/Users/ef/crowny-time/data/정산큐.dat
- 한 줄 =
타임스탬프;사용자;작업분;지역티어;작업유형;mCRD;원화
- balance.crowny.org:9779/api/balance 엔드포인트 등록 (미가동에도 큐 누적 안전)
POST API + 서버사이드 계산 검증 (GET query 형태)
/api/calc?user=NAME&minutes=60®ion=0&work=6&rate=1500
→ 가중보상 계산 + 큐 적재 + JSON 응답
/api/queue — 정산 큐 길이 조회
- 입력 검증: minutes>0, region/work 0~8 범위 클램프, rate 폴백 1500
- 검증 통과: 필리핀 코드작성 60분 = 3283원, 캄보디아 연구개발 120분 = 16875원
가중치 거버넌스 (가중치거버넌스.한선)
/api/propose?type=0&index=0&value=250 — 새 가중치 제안
/api/vote?proposal=ID&user=NAME&vote=1 — 찬성/반대 투표
/api/proposal?id=ID — 제안 상태 조회 (찬성/반대/판정)
- 임계치: 최소 27표(3³) AND 찬성 60%+ → 통과
- 영속화:
거버넌스_제안.dat, 거버넌스_투표.dat
컴파일 사이즈
- 시간서버.toau = 821,940 바이트 (8개 한선씨 라이브러리 통합)
통합 검증 (33 정적 + 7 API + 11 자동감지)
모든 라우트 정상 응답. 큐 영속화 검증 (6건 누적). 거버넌스 판정 정확.
13. Phase 5 완료 (2026-05-27)
추가 언어 2종 (러시아어·힌디어)
- 러시아어
/ru 7153/10536/9665B
- 힌디어
/hi 7649/12091/10036B (인도 14억 시장)
→ 누적
13언어 39페이지거버넌스 자동 적용 (거버넌스적용.한선, hot-reload)
- 적용표 파일:
/Users/ef/crowny-time/data/가중치_적용.dat
/api/apply?id=ID&type=0&index=N&value=W — 통과 검토 + 적용
/api/effective?region=N&work=M — 현재 적용 가중치 조회
- 검증: 28표 찬성 → verdict=1 → applied → 미얀마 가중치 175→200 hot-reload
balance 워커 (balance워커.sh + plist)
- 5분 주기 launchd 가동
- 큐 헤더 N건 → balance API POST → 성공 시 큐에서 제거 + 처리완료 파일
- balance 미가동 시 큐 그대로 유지 (재시도)
POST API + 본문 파싱 (부분 완료)
- 메서드 추출, 본문 추출, form-urlencoded 파서 코드 완료
- POST /api/calc 라우트 작성 완료
- 한계: 한선씨 단일 TCP read로 본문 미수신 — Content-Length 기반 다중 read는 Phase 6 항목
- 현재 GET query로 동일 기능 우회 가능
간이 인증 (시간서버인증.한선)
- SHA256(user+secret+timestamp) → 토큰 발급
- 7일 TTL, 파일 영속화
/api/auth/login?user=NAME → 토큰
Authorization: Bearer TOKEN + /api/auth/me 검증
- 검증: alice 토큰 발급/검증/헤더추출 모두 정상
컴파일 사이즈
- 시간서버.toau = 1,056,328 바이트 (10 한선씨 라이브러리)
3 LaunchAgent 가동
org.crowny.time — 메인 서버 (KeepAlive)
org.crowny.time-fxrate — 환율 갱신 (10분)
org.crowny.time-balance-worker — balance 전송 (5분)
14. Phase 6 완료 (2026-05-27)
추가 언어 4종 (서브에이전트 4 병렬, 총 17언어 51페이지)
| 언어 | 코드 | 라우트 | 크기 |
|---|
| 프랑스어 | fr | /fr, /fr/philosophie, /fr/calculatrice | 6060/8340/8897B |
| 스와힐리어 | sw | /sw, /sw/falsafa, /sw/kikokotoo | 5891/7818/8785B |
| 태국어 | th | /th, /th/prachya, /th/khrueangkhitlek | 8161/12482/10415B |
| 말레이어 | ms | /ms, /ms/falsafah, /ms/kalkulator | 5767/7986/8760B |
→ 누적
17언어 51페이지 + 17언어 자동감지 (글로벌 인구 ~55억 커버)
POST 본문 파싱 (부분 완료)
본문_길이, 본문_완전한가 함수 + Content-Length 다중 read 루프 작성
- 한선씨 TCP 단일 패킷 모델 한계로 본문 분리 패킷 시 미수신 — GET query로 우회 가능
- Phase 7 항목: HTTP/1.1 chunked + select 기반 비동기 read
자동 가중치 적용 워커 (거버넌스적용워커.sh)
- 5분 주기 launchd
- pending 제안 → /api/proposal 판정 조회 → verdict=1만 /api/apply 자동 호출
- 이미 적용된 제안은 적용이력.dat로 중복 방지
- 검증: 통과 2건 자동 적용됨
외부 시세 다중 소스 (시세소스.sh)
- CoinGecko USDT/KRW (우선) → Yahoo USDKRW=X → 폴백 1500
- 환율갱신.sh이 시세소스.sh 호출하도록 통합
- 검증: CoinGecko에서 1495 fetch 성공
/api/proposals 전체 제안 목록 API
- 모든 제안 + 각 판정/표 결과 JSON 응답
- 자동 워커 등 외부 시스템이 활용 가능
- 검증: 4건 제안, 통과 2건 정확 보고
4 LaunchAgent 동시 가동
org.crowny.time (메인, KeepAlive)
org.crowny.time-fxrate (환율 갱신 10분)
org.crowny.time-balance-worker (정산 큐 5분)
org.crowny.time-governance-worker (자동 적용 5분)
컴파일 사이즈
- 시간서버.toau = 1,178,072 바이트 (10 한선씨 라이브러리)
15. Phase 7 완료 (2026-05-28)
추가 언어 3종 (서브에이전트 3 + 거버넌스 UI 1 = 병렬 4)
| 언어 | 코드 | 라우트 | 크기 |
|---|
| 페르시아어 RTL | fa | /fa, /fa/falsafe, /fa/mahasebe | 6852/9843/9436B |
| 하우사어 | ha | /ha, /ha/falsafa, /ha/lissafi | 5834/7734/8680B |
| 암하라어 Geʽez | am | /am, /am/filosofa, /am/abakuwasebya | 6774/9775/9426B |
→ 누적
20언어 60페이지 (글로벌 인구 ~58억)
거버넌스 UI (/거버넌스, /governance)
- 16,383 bytes, 571 lines
- 6 섹션: 현황(Live 5초 폴링) / 제안등록 / 투표 / 자동적용 / 유효 가중치 조회 / 임계치 규칙
- tiomta 디자인 그대로 (.card-grid, .calc, .btn 재사용)
- 모든 응답 인라인 (alert 없음), gov- 접두사로 스타일 격리
POST 본문 파싱 완성 ✅
- Content-Length 다중 read 정상 동작 확인 (body_len 20 수신)
- 원인: GET /api/calc가 POST보다 먼저 매칭되어 body 무시
- 해결:
요청방식 == "POST"이면 본문, 아니면 쿼리 분기
- 검증: POST /api/calc로 정산 큐 적재 → balance 적립까지 정상
포네 지갑 서명 인증 (포네인증.한선)
- challenge-response: nonce 30초 TTL → SHA256(nonce+secret) 서명 검증 → 토큰 발급
- API:
/api/wallet/register, /api/wallet/challenge, /api/wallet/verify
- 검증: 등록 → nonce 발급 → 클라이언트 SHA256 서명 → 서버 검증 성공 → 토큰
- 추후 ECDSA secp256k1 도입 시 함수 시그니처 유지
변경 알림 시스템 (알림.sh)
- Slack/Discord/일반 webhook 호환 JSON 페이로드
~/.crowny-time-webhook 파일 부재 시 stdout no-op (무해)
- 거버넌스 워커가 적용 시 자동 호출
balance.crowny.org E2E 가동 검증 ✅
balance 서버 가동 확인 (http://localhost:9779/api/health 200 ok)
워커 페이로드 형식 수정:
POST /api/balance {userId} (셀 생성, 409 무시)
POST /api/balance/:userId/update {quadrant:"T", field:"crn", delta:N}
검증: 큐 6건 → 모두 처리 → ph_maria T자산 crn=4, kh_lin=22, ja_yamato=2컴파일 사이즈
- 시간서버.toau = 1,391,880 바이트 (11 한선씨 라이브러리)
16. 누적 통계
- 20 언어 × 3 페이지 = 60 정적 페이지
- 17 API (auth/wallet/calc/queue/propose/vote/proposal/apply/effective/proposals/rate/health/debug 등)
- 20 언어 자동 감지 (Accept-Language → 307 리다이렉트)
- 4 LaunchAgent (서버 + 환율 + balance 워커 + 거버넌스 워커)
- 11 한선씨 라이브러리 (재사용 가능 패턴 학습 등록)
- 5 bash 스크립트 (외부 시세, balance 워커, 거버넌스 워커, 알림, 시세소스)
- 거버넌스 UI: 한국어 마스터, 다국어 추후 번역
17. Phase 8 완료 (2026-05-28)
거버넌스 UI 다국어 8개 (서브에이전트 8 병렬)
en/zh/es/ar/hi/fr/ja/pt — 각 21~25KB. 핵심 권역 모두 커버.
케추아어 (qu) — 접근성 토착어 추가
페루/볼리비아 800만 안데스 토착어. 5729/7729/8678B.
→ 누적
21언어 63페이지인증 통합 UI (로그인.html)
- 2탭: 간이 토큰 / 포네 지갑 (challenge-response)
- localStorage에 토큰 저장, 세션 표시, 로그아웃
- SubtleCrypto SHA-256 클라이언트 서명
POST JSON 본문 파싱 (JSON본문파서.한선)
- Content-Type: application/json 감지 → JSON 본문 파싱
- 기존 form-urlencoded 라우트와 자동 분기
- /api/calc가 GET / POST form / POST JSON 모두 지원
통합 테스트 스위트 (통합테스트.sh)
- 41개 테스트, 41/41 통과 (100%)
- 21 정적 페이지 + 8 자동감지 + 5 핵심 GET + 2 보상계산 + 2 인증 + 1 포네 + 2 거버넌스
balance 양방향 동기화 (balance양방향.한선 + balance캐시갱신.sh)
- 5분 주기 launchd가 balance.crowny.org → 캐시 파일 갱신 (7명 갱신 검증)
/api/balance/me (Bearer 인증) + /api/balance/lookup?user= (공개)
- ph_maria 잔액 조회: crn=4, cache=hit ✓
실시간 이벤트 (시간이벤트.한선, long-polling)
/api/events?since=TS — TS 이후 발생 이벤트만 JSON 배열
- 한선씨 TCP 한계로 SSE 대신 폴링 모델 (거버넌스 UI 5초 폴링 활용)
gateway HTTPS 종단 (이미 가동)
- gateway 자체 ACME (ssl.한선 + ssl.js) 포트 8443 LISTEN
- time.crowny.org는 gateway.yaml 등록됨 → 도메인 연결 시 즉시 HTTPS 작동
- Let's Encrypt 별도 통합 불필요 (자체 cert 발급)
5 LaunchAgent 동시 가동
org.crowny.time (메인)
org.crowny.time-fxrate (환율 10분)
org.crowny.time-balance-worker (큐 → balance 5분)
org.crowny.time-governance-worker (자동 적용 5분)
org.crowny.time-balance-cache (잔액 캐시 5분, 신규)
컴파일 사이즈
- 시간서버.toau = 1,652,084 바이트 (14 한선씨 라이브러리)
18. 누적 통계 — Phase 1-8
| 항목 | 수 |
|---|
| 언어 | 21 (인구 ~59억 커버) |
| 정적 페이지 | 63 (21 × 3 + 거버넌스 UI 8 = 71 정확) |
| API 엔드포인트 | 20+ |
| 한선씨 라이브러리 | 14 |
| bash 스크립트 | 7 |
| LaunchAgent | 5 |
| 통합 테스트 | 41/41 통과 |
| 서브에이전트 누적 launch | 29 (사고 0건) |
| 컴파일 사이즈 | 1.65 MB |
19. 잔여 (Phase 9 후보)
- 거버넌스 UI 나머지 12언어 번역 (vi/id/bn/ur/ru/sw/th/ms/fa/ha/am/qu)
- 포네 지갑 ECDSA secp256k1 실서명 (현재 SHA256 임시)
- 실시간 알림 SSE 또는 WebSocket (한선씨 TCP 확장)
- 거버넌스 통계 대시보드 (시각화)
- 모바일 PWA (오프라인 + 푸시 알림)
- 다국어 자동 동기화 워커 (한국어 마스터 변경 → 다국어 자동 재번역)
- 시간 통계 (마당별 사용자 활동 분석)
- 보안 강화 (rate limit per IP, captcha)