Summary
OpenAkashic/Closed Akashic를 하나의 제어면(control plane)으로 다루되, 사용자 private 작업과 공개 승격 레이어는 분리하는 방향으로 현재 구현과 다음 확장 방향을 정리한다.
Current Implementation
- Closed Akashic 웹 UI는 공통 고정 헤더, 관리자 토큰 모달, 관리자 전용 편집 버튼, 관리자 전용 사서장 플로팅 채팅 UI를 공유한다.
- 노트 페이지의 하단 인라인 저장/취소/헤딩/체크리스트/콜아웃/이미지/파일 버튼은 제거하고, 상단 공통 헤더의 Edit/Save/Cancel 흐름으로 통일했다.
- 관리자 권한은
CLOSED_AKASHIC_TOKEN으로 판정하며, 유효하지 않으면 편집 버튼과 사서장 UI가 노출되지 않는다. - 사서장은 현재
exec_command,search_notes,read_note,append_note_section,upsert_note도구를 가진 서버측 운영 에이전트로 구현했다. - 사서장 활동은
personal_vault/projects/ops/librarian/아래의 profile/policy/memory/activity 구조에 계속 기록된다. - 검색은 lexical 검색에 더해 local multilingual embedding(
intfloat/multilingual-e5-small) 기반 semantic ranking을 섞는다.
Control Plane Shape
- 단일 MCP와 단일 관리자 제어면을 유지한다.
- 내부 저장 모델은 두 논리 계층으로 유지한다: private/source memory layer 와 shared/public knowledge layer.
- 일반 사용자는 공개 가능한 fact/evidence/capsule/result 중심으로 소비한다.
- shared/public 승격은 사용자의 직접 쓰기보다 서버측 사서장 검토와 정책 적용을 거친다.
Next Steps
- Google 로그인, 토큰 발급, 닉네임 수정, 역할 부여 기반 ACL을 붙인다.
scope는 폴더/맥락 힌트로 유지하고 권한은owner,visibility,publication_status로 판단한다.- source asset(문서, 이미지, 데이터, 논문, 재현 기록)과 derived artifact(fact, evidence summary, capsule, know-how)를 분리 저장한다.
- 사서장에 publish-review, evidence-linking, duplicate-merge, memory distillation playbook을 추가한다.
- OpenAI API 키가 서버 환경에 들어오면 현재 Codex 계열 모델 호출을 실제 운영 응답 경로로 활성화한다.
- 의미검색은 현재 local embedding cache를 기반으로 하고, 추후 asset chunking과 권한 필터를 함께 얹는다.
Reuse
다음 구현에서는 이 노트를 기준으로 ACL, 공개 승격 파이프라인, 사서장 플레이북을 확장한다.
2026-04-14 Deployment Correction
knowledge.openakashic.comwas still serving the oldclosed-akashic-webcontainer because the Docker service had not been rebuilt/restarted after local UI changes.- Rebuilt and restarted
ichimozzi-migration-closed-akashic-web-1; public HTML now includes the fixed global header, token modal, admin-only librarian shell, and no residualNew Page/New Folderor bottom save/cancel controls. - OpenClaw is treated as an architecture/reference pattern, not a runtime API or credential source. The librarian status now reports
provider=codex-styleand model labelopenai-codex/gpt-5.4; direct long-running agent runtime remains a future integration. - Semantic search now uses Ollama
nomic-embed-textthrough the shared Docker networkopenakashic-prod_default, with document text truncated to 1200 chars and batched by 16. First index build populated 366 docs; cached semantic searches return in about 1 second. - GPU diagnosis: host RTX 3060 is visible, but Docker has no NVIDIA runtime/container toolkit and Ollama logs show CPU-only execution. GPU enablement requires installing/configuring NVIDIA container toolkit/CDI and then restarting the Ollama compose stack with GPU device requests.
2026-04-14 Governance Metadata And Publication Requests
- Implemented note governance metadata defaults: new writes now get
owner=aaron,visibility=private, andpublication_status=noneunless explicitly overridden. - Added publication request workflow:
/api/publication/request,/api/publication/requests, MCP toolsrequest_note_publicationandlist_note_publication_requests. - Publication requests keep the source note private, mark it
publication_status=requested, and create a private librarian queue note owned bysagwanunderpersonal_vault/projects/ops/librarian/publication_requests/. - Updated the web note info/editor surfaces to show and edit owner, visibility, and publication status.
- Updated librarian policy and user scope review docs to state that MCP/API writes are private by default and public exposure must go through librarian review to produce public fact/evidence summary/capsule/know-how artifacts rather than raw source disclosure.
- Verified via public API: default private metadata, publication request creation, source request markers, request listing, MCP tool exposure, and cleanup of smoke-test notes.
2026-04-14 Owner And Publication Governance Correction
- Bootstrap identities are now explicit: master-token admin is
aaron; server librarian manager issagwan. visibilityis intentionally small: onlyprivateandpublic.publication_statuscarries the review state: normal users can set onlynoneorrequestedon their own notes; admin/manager decisions usereviewing,approved,rejected, orpublished.scoperemains only a folder/context selector forsharedcommon knowledge/opinion versuspersonalpersonal information/opinion, not an authorization primitive.- Added admin/API/MCP publication decision path so
publishedrecords the decision and flips the source tovisibility=public.
2026-04-14 Immutable Owner And Public Stewardship
- Corrected the librarian identity spelling to
sagwan. - Owner is no longer editable through the web editor or normal note write payloads; new private notes bind owner to the authenticated creator nickname.
- Private read/write is limited to owner and admin.
- Public artifacts are readable as public knowledge, but only admin/manager workflows may add, modify, delete, move, or merge them.
- Publishing records
original_owner, keepscreated_by, transfers current stewardship toowner=sagwan, and setsvisibility=public. - The web token modal now mirrors the token into a same-site cookie so server-rendered private pages can be authorized before login exists.
2026-04-16 MCP Ergonomics, Container Rename, Agent UX
- 컨테이너 이름 정리 완료: Compose 프로젝트
ichimozzi-migration→insu-server, 서비스closed-akashic-web→openakashic-web. 실제 운영 컨테이너:insu-server-openakashic-web-1. Docker 볼륨은 explicit name으로 기존 이름 유지(데이터 보존). - MCP tool 파라미터 서술 완전 추가:
Annotated[type, Field(description="...")]방식으로 전 도구에 파라미터 설명 추가.from __future__ import annotations가 runtime Field 해석을 막는 것을 발견해 제거. Python 3.12는 네이티브로str | None지원. - 에이전트 온보딩 자동화: MCP
instructions필드에 5단계 권장 워크플로우 추가. 새 에이전트 접속 시 자동 전달됨. - upsert_note 후 게시 유도: 응답에
_next힌트 필드 추가 —request_note_publication호출 방법 포함. 에이전트가 저장 후 다음 단계를 스스로 결정할 수 있도록. - signup IP rate limit: 3 → 10회/시간으로 완화. Docker 내부망에서 IP를 공유하는 에이전트들의 정상 사용 허용.
- publication kind 확장:
evidence,referencekind도request_note_publication시 경고 없이 수리됨 (기존capsule,claim만 허용).