콘텐츠로 이동

로드맵: 중앙 프록시 대비 운영 과제

2026-09-16 갱신: 프로파일 기준선 413f1a2와 선택적 신원 구현입니다. ②는 ADR-045 노드별 영속 금전 권한, ①은 ADR-046의 명시적 Postgres 공유 키·전역 요청률·토큰 할당량으로 구현되었습니다. 남은 전체 운영 기능은 아래와 같습니다.

시장·제품 계약·우선순위·릴리스 기준은 엔터프라이즈 전략을 따릅니다. 이 문서는 실행 현황과 기존 다섯 과제의 구분을 유지합니다.

프로파일별 목적 달성도 · 2026-09-16

CLAUDE.md의 목표 5개를 제품 전체의 단일 체크 표시가 아니라 프로파일별로 평가합니다. 구현, 기본 활성화, 장애 동작, 엔터프라이즈 검증은 각각 다른 증거입니다.

프로파일 기본·활성화 구현 권한 가용성 경계 검증
SQLite 로컬·기존 CP 독립 기본, 기존 CP 선택 로컬 키·팀·요청률·할당량·금전. 기존 허용량은 영속 전역 예약 아님 추론 시 공유 DB 없음. 연결 CP의 준비·만료 조건 적용, 로컬 장애 가능 단일 복제본 집행, 알파
ADR-045 영속 CP·private 저널 선택 불투명 사용자 범위를 포함한 전역 정책 금전. 키·요청률·토큰·독립/키별 금전 로컬 추론 시 CP/DB 호출 없음. 장애 중 보충 불가, 모든 준비·나이·하드 기한 내 기존 권한만 사용 금전 구현, 복구·부하·개인 신원 검증 남음
ADR-046 Postgres 키·집행과 공통 네임스페이스 선택 공유 키·팀, 동기 원자 RPM·TPM·토큰·금전 CP 장애 시 유효 바인딩·준비 상태 필요. DB 장애는 새 승인 거부 공유 구현, HA DB·배포 검증 남음
목표 구현·기본값 남은 계약
코딩 클라이언트 진입점 Messages·Chat·Invoke·Responses, 네이티브/이식 어댑터, 선택적 설치 클라이언트 시험 버전별 모델·도구 검증. 임의 불투명 상태 이동·품질 보장 없음
사용자 모델 선택 모델·사용자 정책, 선택적 검증 신원·서비스 레지스트리와 안정 회계 참조 과거 매핑·필수 전환 검증, 조직/팀 역할 6개 미구현, 기본 legacy 귀속 유지
비용 기반 라우팅 선택적 기존 티어, 명시적 strict·개인정보, Shadow 기본·Enforce 선택, 도구/이력·로컬 성공 목적지 고정 개인 프리미엄/총풀, 작업·비용·지연 실측, 전체 세션 보장
예산·가시성 프로파일별 범위·내구성, 관측 사용량·비용, 미확정 의무 유지 신원 전환·청구 조정·복구 증거. HTTP 200을 실제 확정 비용으로 추정 금지
제한된 가용성 CP HTTP는 추론 전달 안 함. 유한 로컬 권한 또는 의도적 동기 DB 승인 무조건 no-SPOF 아님. 프로세스·노드·DB·공급자 장애 검증

require_sync는 최초 정책, max_policy_age는 오래된 정책을 제어합니다. 영속 최초 동기화·공유 최초 바인딩·하드 권한/윈도 만료·소진은 별도이며 최신성 설정으로 우회하지 못합니다. CP 장애와 DB 장애를 구분하세요. 생성 거부 중 계산은 로컬 200입니다. 프로파일 표를 참고하세요.

검증된 신원은 새 원장이나 기본값이 아닌 선택적 계층입니다. 필수 모드는 같은 선언과 폐기된 owner 이력까지의 명시적 회계 참조를 유지합니다. 정규 감사 참조를 legacy 바인딩된 사람의 정책 참조로 대체하지 않습니다. 역할 6개·전체 풀·운영 검증은 남아 있습니다.

각 단계는 리뷰를 거치는 별도 PR로 진행합니다.

스프린트 항목 이유
S1 ①/②는 ADR-045/046으로 구현 로컬 금전 권한과 동기 공유 승인의 장애 계약을 분리
S2 · 약 1주 doctor와 버전 가시성 프로토콜 위험 없는 관측·진단
S3 · 1~2주 서명 수동 갱신과 임베딩 릴리스 경로·첫 비채팅 종류

정책 라우팅 v1 · ADR-043/044

원본 바이트 로컬 검사, 매 시도의 FailClosed 민감 정보 목적지, Shadow 기본 컨텍스트 추천이 구현되었습니다. 기존 Enforce는 이력·도구·미디어·추론·구조화 출력 없는 단일 사용자 턴이고 ADR-044는 호환 도구·이력을 확장합니다. 둘 다 영속 토폴로지 메타데이터, 수신·계산 연동, 제한된 감사·헤더·메트릭, 시작·적용 시 목적지 검증을 제공합니다. 기존 입력 임계값은 적격성 제외가 아니라 simple/complex 선택이며 큰 요청도 호환 complex를 고를 수 있습니다. 기존 예산을 대체하지 않습니다.

Enforce 전 작업 성공, 콜드 캐시·재시도 포함 총비용, p95, 개인정보 부정 사례가 사전 기준을 통과해야 합니다. 유한 탐지기·변환기 한계가 남아 보편 PII·실측 절감을 의미하지 않습니다. 교차 노드 영속 고정·학습/원격 분류기·운영 HA 검증은 별도이며 공유 승인은 이미 구현되었습니다. ADR-044는 로컬 고정·Responses·완전 Mask를 추가합니다. 적응형 라우팅, 정책 가이드를 참고하고 규칙 전 바이너리·CRD 업그레이드, 최초 CP 보호용 require_sync를 적용하세요.

① 공유 키·전역 요청률·토큰 · 구현됨

명시적 공유 프로파일은 트랜잭션 Postgres 승인을 사용하며 해당 모드에서 이전 rate-share·Redis 제안을 대체합니다. 키·팀 권한을 공유하고 시도마다 일치 팀·키·사용자 자원을 원자 예약합니다. 완전한 사용량은 미사용을 해제하고 불확실한 결과는 예약을 유지합니다.

정책 금전은 같은 ADR-045 계정의 미해결 로컬 권한과 경쟁합니다. 영속 네임스페이스·세대 검사는 다른 권한 혼합을 방지합니다. 요청률 보충은 DB 시각 기반, 토큰 할당량은 UTC 일·월 윈도입니다. 사용량 뷰는 예약을 따로 표시합니다.

운영·마이그레이션을 참고하세요. 기본 로컬 버킷은 로컬이고 오프라인 전역 요청률·키 권한은 보장하지 않습니다. 가변 공유 공급자 토폴로지, 보존·조정 API, 운영 처리량 벤치마크는 별도 과제입니다.

② 영속 원장·중앙 예산 윈도 · 구현됨

기존 SQLite·지연 쓰기 제안 대신 트랜잭션 Postgres 권한 예약을 구현했습니다. 정책·권한이 같은 DB·스키마를 사용하며 최신 정책을 잠금 아래 읽고 응답 전에 권한을 예약합니다. 재시도·리스 만료·재시작의 의무를 보존하고 DB가 UTC 일·월 윈도·늦은 보고·티어 유지를 정합니다.

노드는 private SQLite 저널로 각 공급자 시도 전 보수적 상한을 예약합니다. 완전 사용량은 미사용 로컬 부분을 해제하고 부분·불명 결과는 유지합니다. 재시작은 기존 열린 권한을 보수적으로 소진하고 이전 저널 소유자를 차단합니다. 추론 중 CP·Postgres를 호출하지 않습니다. 두 CP·두 게이트웨이·한 DB 통합 시험으로 재시작·동시성·윈도 전환·재전송을 확인합니다.

양쪽을 명시적으로 활성화하세요. 설정·장애 동작을 참고합니다. 영속 서버는 구형 클라이언트에 더 약한 권한을 주지 않고 거부합니다. 사용자 범위를 포함한 정책 금전 전역화이며 키별 로컬 금전·요청률·할당량·키 저장소 전역화가 아닙니다.

③ mayu 버전 채널·서명 갱신 · 제안

개발자 장비의 mayu에는 갱신 메커니즘이 없습니다. 하트비트·dataplanes에서 버전 차이를 감지해도 구형 노드는 수동으로 줄여야 합니다.

1단계는 빌드 ldflags 버전, SyncRequest의 version, 버전 분포와 minimumVersion·updateAdvice를 추가하는 가시성 제안입니다. mayu version --check로 경고만 하고 자동 적용하지 않습니다.

2단계는 goreleaser와 minisign/cosign 서명, 내장 공개 키, mayu update의 다운로드→서명 검증→옆 파일 작성·원자 교체·.old 보존입니다. 사용자가 재시작하고 쓰기 가능한 설치 위치를 사용합니다. Kubernetes 갱신은 이미지 파이프라인이 담당합니다.

3단계는 유휴 시 자동 갱신·상태 검사·실패 시 .old 롤백입니다. 일정은 제안이며 구현 완료가 아닙니다.

필수 보안 조건은 CP가 실행 파일을 밀어 넣지 않고 버전만 지정하는 것입니다. 데이터 영역이 내장 공개 키로 독립 검증해야 합니다. 그렇지 않으면 CP 침해가 모든 장비의 원격 코드 실행으로 이어질 수 있습니다.

④ mayu doctor · 제안

현재 노드별 실패 진단은 상태·로그를 직접 조사해야 합니다. 사람이 읽는 출력과 --json을 제공하는 단일 명령을 제안합니다.

  • 설정 파싱·검증, 정책 출처, 비밀 참조 해석 가능 여부만 표시.
  • CP 접근·인증·지연·현재/서버 세대·대기 거부.
  • 팀 정책·허용량/사용량/만료, ADR-046의 공유 예약·할당량.
  • SSRF 보호된 기존 공급자 시험과 가격 커버리지.
  • 버전·apiVersions·시계 차이·포트 충돌.

관리 인증과 비밀 없는 DTO의 GET /admin/debug/governance도 제안합니다. 셸 접근이 없는 노드의 동일 스냅샷을 제공합니다. 모든 필드는 기존 비밀 제거 규칙을 따르고 key_id·owner는 기본 JSON에서 제외해야 합니다.

⑤ 임베딩부터 모달리티 확장 · 제안

현재는 채팅·코딩에 집중합니다. Messages 상위 집합 스키마에 임베딩을 억지로 넣으면 손실 없는 변환 조건을 깨므로 별도의 집행된 원문 전달 경로를 제안합니다.

  • POST /v1/embeddings의 OpenAI 형식 수신.
  • 선택적 providers.Embedder 인터페이스로 기존 공급자 확장 경계 유지. OpenAI 호환은 원문 전달, Bedrock은 Titan·Cohere 매핑, Anthropic은 미구현 모델에 404.
  • KeyAuth→모델 해석·접근→PreCheck→호출→Settle의 기존 집행과 입력 토큰 가격 사용.
  • 이미지·오디오·리랭크는 이 단계에서 제외하고 별도 결정. 경로 패턴을 검증한 후 Gemini·Vertex 등 후속 공급자를 검토.

범위 확장을 제한해야 합니다. 결과물은 선택적 인터페이스·집행된 전달 패턴이며 구체 모델 매핑은 교체 가능한 세부 사항입니다.

별도 구현·명시적 후속 과제

  • 자격 증명 중개 ADR-040은 보류가 아니라 별도로 구현됨. 전용 토큰으로 단기 STS를 발급합니다. 상시 노드 권한 제거가 노출을 줄이지만 mayu 환경을 읽는 개발자는 토큰·세션을 얻을 수 있어 침해된·개발자 소유 호스트의 우회 방지가 아닙니다. 중개 절차의 신뢰 경계를 확인하세요.
  • 가변 공유 공급자 토폴로지는 보류. 공유 게이트웨이는 파일·ConfigMap 배포를 사용하고 SQLite provider_store는 거부합니다. 공유 키·요청률·할당량·키별 금전은 구현되었습니다.
  • 정책 SSE push는 후속 과제이며 현재 리스 주기 폴링이 기존 60초·15초 요구를 충족합니다.
  • inferplaned CRD-watch 컨트롤러는 ADR-035 후속입니다.
  • 오프라인 전역 요청률·키 리스는 후속입니다. 공유 사용자 요청률·토큰은 ADR-046에 있습니다.
  • routing의 affinity 하위 규칙은 아직 거부합니다. budgetTiers는 ADR-041에서 독립적으로 구현되었으며 ADR-044의 제한된 로컬 안정성과는 구분합니다.