← 목록
기타 2026-06-27 8KB 읽기 8분

cowork.crowny.org 글로벌 협업 서비스 대개선 (2026-06-27)

개요

cowork.crowny.org(:9720) 를 "중학생도 이해하는 글로벌 협업 서비스"로 끌어올리는 대개선. 윈도우PC 접속 무한제한 해소 → 게시판 통합 → 디자인표준 → 런처/티어 → 한선씨/셀코어 순으로 하나씩 배포.

울트라 워크플로(8에이전트, 현황감사 3 + 설계산출 5, 모델분업 opus/sonnet/fable)로 감사·설계를 병렬 산출한 뒤, 메인 세션이 우선순위대로 구현·배포.

무엇을 했는지 (배포 완료)

rev16 — 윈도우PC 무한제한 P0 (라이브 검증)

모든 감사 에이전트가 선결과제로 지목한 4+1건:
  1. portal.html renderBoot http:// 하드코딩 → location.protocol 자동 (HTTPS 페이지의 http fetch 차단·HSTS·방화벽 무한제한 해소)
  2. 복사버튼 copyElexecCommand 폴백 + "복사됨" 피드백 (clipboard API는 HTTPS 전용 → 윈도우 HTTP에서 조용히 실패하던 것)
  3. blob 다운로드 3곳(설정번들/패키지/커밋) → revokeObjectURL 누수방지 + 한글파일명 RFC5987 cdName 헬퍼
  4. index.html :9720https://cowork.crowny.org (외부망 포트직접 방화벽 회피)
  5. server.js 컴파일러 안내 URL → https

rev17 — 게시판(board) 통합

파일 업로드/다운로드/로그·보고·공유를 "게시판에 글 올리기" 한 개념으로 통합 (설계: 2026-06-27-cowork-게시판-재기획.md).
  • 기본 5게시판 시드: pkg(자료)·share(자료)·activity(로그)·notice(이야기)·qna(이야기)
  • board.js(582줄) + 게시판.한선(COMPILE_OK, 셀코어 4상 권한판정 미러)
  • 13 라우트: /api/boards, /api/board/<key>[/posts|/post|/post/<id>[/comment|/messages|/attach|/attach/chunk|/attach/<name>]], /api/board/activity/report
  • 첨부 = recordCommit provenance, 2MB 청크업로드 + sha256 대조(multipart 우회)
  • 다운로드 등급게이팅: 글 perm.tier로 canAccessTier + 게스트는 share글만 + Bearer/?token= + 한글 CD
  • boardAutoLog 자동기록 login/upload/commit/download 4지점
  • 라이브 E2E: 글작성·댓글·첨부·authed다운로드 OK / unauth 401 / 게스트 목록필터(share+notice만) / 활동로그 자동기록 확인
  • 권한 단위테스트 6/6 PASS

rev18 — 크라우니디자인표준 v1.0 + 게시판 UI + 쉬운 라벨

  • portal.html·index.html에 choco/gold/cream 팔레트 + Pretendard/NotoSerifKR/JetBrainsMono + 그림자·반경·모션 토큰 적용(기존 변수명 유지, 값만 교체 → 무회귀)
  • 다크/라이트 토글(헤더 ☀/🌙 + localStorage), index 히어로 섹션
  • 포털 게시판 UI(목록→글→댓글→글쓰기 4뷰, 2MB청크 첨부, api/dlBlob/cdName 재사용)
  • 전문용어→쉬운 한국어 라벨 9건. 기존 함수 30개·element id 37개 보존, JS 문법 OK
  • 정적파일 per-request 서빙 → 즉시 라이브

rev19 — 3단계 런처 + 환경매칭 + sha256 + 다운로드 등급게이팅

  • /launcher(맥/리눅스 sh)·/launcher.ps1·/launcher.cmd(윈도우) 자기완결 부트스트랩(포트없으면 https 규칙 내장, 호스트 자동감지)
  • /api/launcher/manifest(무인증 안내, 환경별 목록+sha256+minTier)·/api/launcher/resolve(인증, 환경+등급 단일패키지 4상 지목)
  • /api/packages·resolve에 sha256(fileSha256 mtime캐시)
  • 다운로드 등급게이팅: data/package-tiers.json {파일:minTier} 메타 있을 때만 canAccessTier(없으면 기존 로그인-전용=무회귀)
  • 동반 런처.한선/티어게이트.한선 COMPILE_OK(셀코어 4상). SSOT data/tier-capability.psv(내장함수 50/90/130/175/225·동시작업 1~12)
  • 라이브 E2E: manifest 5개+sha256 / resolve 정상 / 미지원OS 404(타) / 슈퍼 게이팅 다운로드 200 / 무인증 401(무회귀)

셀코어 룰 연동 (감사 '셀코어 미적용' 직접 해소 — 작게·검증가능)

  • 게시판/런처 권한판정을 실제 셀코어 룰엔진으로 표현·누적·매칭. 게시판권한.한선(182줄, COMPILE_OK).
  • 사용 API(셀코어.한선 실측 시그니처): 룰생성(이름,우선순위)·룰조건추가(룰,슬롯,연산자,값)·룰변경추가·룰엔진실행(db,감사,룰들,최대id)→최고우선순위 매칭이 셀 잠금(먼저 매칭이 이김)·셀넷저장/셀넷로드(PSV 영속)·새셀/셀씀/셀읽/슬롯읽기.
  • 슬롯 매핑: 16등급·17동작(0읽기/1쓰기)·18티어충족·19공유·20오너요청·2판정(기본 "타"=default-deny).
  • 6룰: 오너동의_필요(30,음)·게스트_쓰기_거부(25,타)·게스트_공유자원(20,옴)·쓰기_티어부족(15,타)·쓰기_허용(12,티)·게시판_읽기_허용(10,티). 영속 data/권한규칙.dat(971B).
  • 검증: 자가검사 K1~K9 9/9 = 설계 매트릭스 = board.js judgePermission 완전 parity(쓰기 케이스 포함). 1차 플래그된 "쓰기+티어충족" default-deny 갭을 쓰기_허용 룰로 닫음 → 셀코어가 JS의 완전한 거울.

설계·분석 산출물 (CrownyDoc projects/)

  • 2026-06-27-크라우니디자인표준-v1.0.md (kps.crowny.org choco/gold/cream 정본, Pretendard/NotoSerifKR/JetBrainsMono, 8컴포넌트, 다크모드)
  • 2026-06-27-cowork-체크포인트.md (중학생 표현 글로벌협업 체크포인트 <50, P0정렬)
  • 2026-06-27-cowork-게시판-재기획.md
  • 2026-06-27-cowork-런처+티어분류.md (3단계 런처, 티어별 내장함수 50/90/130/175/225, 동시작업 1~12)
  • 2026-06-27-모델비교-패키징도구.md (Sonnet+크라우니코드 비용효율 416=본체주력, Opus 아키텍처, 분업규칙 정합)
  • 2026-06-27-cowork-감사-{UX,백엔드,한선씨셀코어}.md

관련 파일

  • /Users/ef/crowny-cowork/{server.js, board.js, 게시판.한선, public/portal.html, public/index.html, data/updates.json}
  • 재기동: launchctl kickstart -k gui/$(id -u)/org.crowny.cowork

잔여 이슈 (다음 단위, 하나씩)

  • ✅ (rev18) 크라우니디자인표준 적용 + 게시판 UI — 완료
  • ✅ (rev19) 런처 3단계 + tier-capability.psv + 다운로드 등급게이팅 — 완료
  • ✅ 셀코어 게시판/런처 권한판정 실제 룰 누적·매칭(게시판권한.한선 + data/권한규칙.dat, 9/9 parity) — 완료
  • ✅ 한선씨 동반 100% — 11개 JS 전부 같은이름 .한선 로직 미러 생성(2137줄, 11/11 COMPILE_OK 독립검증). 동반율(enforce 공식지표) 0%→100%, 줄 비율 18.2%→40.2%. 기존 주제별 한선씨 흡수·재사용. 미러 함수: server.한선(인증/경로탈출/다운로드등급/업로드분기 13함수)·auth-tier.한선(canAccessTier/세션/체인무결 4상)·board.한선(권한판정 12케이스 parity)·collab/support/tasks/owner/bundle-build/crowny-admin-*/widget. 정직한 한계: server.js 2586줄 중 Node HTTP 플러밍은 런타임 경계라 줄 70%는 불가, 동반율 100%가 헌법 충족 지표.
  • 잔여(선택): 줄 비율 추가 상향은 로직 추출 리팩터 필요 / 미러를 런타임에 실제 호출(현재는 검증된 동반+parity)
  • ⏳ board.js가 런타임에 셀코어 권한규칙.dat를 실제 호출(현재는 JS 미러+검증된 parity; per-request 한선씨 exec 비용 때문에 누적·검증까지 적용) — 선택
  • uploads-tmp 고아 정리 cron, board-posts.json I/O 모니터링, sha256 첫요청 지연(55MB≈0.3s)
  • 자유가입(게스트 self-signup) 여부 = 오너 결정 필요
  • launcher.cmd %TEMP% 한글/공백 경로 주의(1차 권장은 PS irm|iex)
  • 배포 요약 (2026-06-27 세션)

    rev16 윈도우P0 / rev17 게시판 / rev18 디자인표준+게시판UI+라벨 / rev19 런처+게이팅 — 전부 라이브·E2E 검증.