콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · kamo-shared-library

    VENDOR CALLBACK RESOLVED 이벤트 유형 키 추가 (0.6a ingress)

  2. · kamo-shared-library

    LoanIdentifier 레지스트리 기판 - 42 타입 에이즈 (키스톤 0.5, 슬라이스 1)

    새로운 pkg com.kamo.z.shared.mlos.identity (인바운드 웹훅 라우팅 키) : LoanIdentifierType (42 일류 유형의 에이즈, 각 나르는 Cardinality + Ownership; @Enumerated STRING; SingleActiveType() 메타 데이터에서 파생) + *************** + LoanIdentifier entity (BaseUuidEntity; FK-by-id Long loanFileUid + denormalized organizationId, lock LoanFile에서 decoupled; write-once @PreUpdate guard throw on value/type/customSubtype 변경, 유일한 상태 플립 허용; @PrePersist normalizes Issuer/subtype + performs OTHER<=>customSubtype) + LoanIdentifierRepository (resolver find value-a-only-id-only-id-a-only-id-equip.). 검증된 로컬: mvn install BUILD SUCCESS, 49 MLOS 테스트 패스 (단일 활성 드립 가드 테스트는 enum set matchs KamoInitializer 부분 인덱스 DDL). KamoInitializer DDL: 검사 + 3 부분 고유 색인 + 다른 CHECK. RESOLVER + webhook ingress = 첫 번째 새로운 MLOSIdentifierService microservice (deferred).

  3. · kamo-shared-library

    StewardFeedback flywheel - 모든 수염 verdict 캡처 (키스톤 0.11)

    새로운 pkg *********** append-only StewardFeedback 접지 truth 행 (FK ai decision.uid; verdict CONFIRM/OVERRIDE/MODIFY; Reg-B 정렬 된 reasonCode; correctedValue jsonb; isTestLoan는 doc12 §4.4 당 쓰기 시간에 각인됩니다; @PreUpdate WORM 가드) + StewardFeedbackRepository + StewardFeedRepositrebacksRepository + StainedReposrebackReposreposrebacks + Stainables. 레코더 게이트 mlos.governance.enabled (기본 해제 -> 0 폭발 반경). KamoInitializer DDL: 검사 + 스튜어드 feedback 색인 + FK에 ai decision.

  4. · kamo-shared-library

    Immutable AiDecision WORM 원장 + 2 벽 결정 (키스톤 0.3, 슬라이스 1)

    새로운 pkg com.kamo.z.shared.mlos.decision (greenfield decision spine, donotmodify를 편집하지 마십시오) : immutable append-only AiDecision (WORM via @PreUpdate guard; loanFileId는 doc01/gotchas 당 LoanFile.uid에 긴 FK, UUID입니다; supersedesDecisionId를 통해 SupersedesDecisionId를 통해 WO는 DB-consentist + DB에 머물고 있습니다) *************** enums + AiDecisionRepository (로안경 발견자). DecisionGate = in-process two-wall library (legal wall ABSOLUTE/non-tunable; 자신감을 가진 벽 tunable; tunable 플랫폼 안전 바닥 아래) - config-only @Component, no repo dep, safe estate-wide. 의존성 슬라이스에 대한 DEFERRED : DecisionInput (FKs the Phase-2 카탈로그), StewardTask/OrchestrationState, 법적 레지스트리, HMDA-firewall CHECK, ModelVersion FK. KamoInitializer DDL 추가 (ai decision index + flagged DB WORM 트리거 필요 CRDB v24.x).

  5. · kamo-shared-library

    이벤트 백본을위한 Tenant-isolation 게이트 (Slice 3)

    로드맵 0.10: **************** (자유한 소비자 구독 솔기) + 속하는ToTenant (subject,orgId) 토큰 현명한 일치는 거울 NATS 필터링; forEvent now rejectitive orgId (자유 없이 이벤트 없음). MlosTenantIsolation의 장점 테스트는 실행 가능한 크로스 텐넌트 게이트 (Token-boundary: org 12는 org 123에 결코 일치하지 않습니다). MlosDeadLetterRepository는 org-scoped 스튜어드 finder (repo-layer org-scope guard)를 얻고 연산자-gated cross-tenant 하나. X-Internal-Auth hops의 Per-tenant 범위는 부동산 전체이며 우즈 키스톤에 적습니다. 살아있는 부유물 고립 시험은 최초의 콘크리트 소비자와 따릅니다.

  6. · kamo-shared-library

    소비자 측 idempotency, DLQ + 스튜어드 재생 (Slice 2)

    어떤 MLOS 소비자가 플러그를 꽂는 신뢰도 코어를 추가합니다. ProcessedEvent dedup ledger (Unique Consumer name+event id) + MlosDeadLetter DLQ + MlosDeadLetterStatus; IdempotentEventProcessor (INSERT-or-skip dedup in the handler's tx so the failure rolls back the marker; 반복 대신 maxAttempts 과거 maxAttempts; Relicables (Regables-Regables-Regables); MlosEventEnvelope는 둥근 지구화를 위해 @Jacksonized를 얻습니다. 새로운 @Components는 mlos.outbox.enabled opt-in를 공유합니다; repos는 이미 만들어진 포장에 있습니다. Live AbstractMlosDurableConsumer (NATS 구독)는 첫 번째 콘크리트 소비자에게 번식합니다.

  7. · kamolos

    MLOS 거래 아웃 박스(producer path) 채택

    Com.kamo.z.shared.mlos.event를 @EnableJpaRepositories scan, mlos.* config (mlos.outbox.enabled=true, MLOS EVENTS 스트림 + dedup 창, 스위퍼), 프로듀서-path 배선 테스트 proving enqueue-> AFTER COMMIT 릴레이는 Nats-Msg-Id로 정확하게 게시합니다. Schema (mlos outbox event + indexes)는 사용자 실행 KamoInitializer에 의해 별도로 적용됩니다.

  8. · kamo-shared-library

    거래 아웃 박스 이벤트 백본 (Phase-0 키스톤 B)

    NEW sibling pkg의 Money/compliance-grade 프로듀서 경로 *********** (모든 편집 donotmodify): MlosEventEnvelope DTO + MlosOutboxEvent outbox entity/repo + OutboxWriter (single-tx enqueue) + OutboxRelay (AFTER COMMIT hot-path + @Scheduled Cleaninger, Nats-Msg-Id와 함께 게시) + MlosNatsStreamConfig (새로운 MLOS EVENTS 스트림과 dedup 창 Nats-Msg-Id). 고정된 NATS 연결/JetStream 콩을 재사용합니다. mlos.outbox.enabled를 통해 Opt-in (과태 떨어져) 그래서 non-adopting 서비스는 unaffected. Exactly-once-effect = 거래 outbox + JetStream Nats-Msg-Id dedup. 소비자 dedup/DLQ + CI tenant-isolation는 Slice 2/3입니다.

  9. · kamo-internal

    단계별 데이터 레이어 표시 incl. EDT4 바다 가면 + TRF2 표하기

    Worldgen 대쉬보드의 스테이지 카드는 이제 데이터 레이어를 나열합니다. 각 타일 스테이지 베이크, 새로 추가 된 것을 강조 : EDT4 바다 (sea-connectivity) 마스크 수력, 그리고 TRF2 차선 표하기 + 런타임 지형은 수송의 밑에 등급을 매깁니다. 순수한 체재/data labels (STAGE LAYERS in types.ts) - 새로운 i18n 문자열이 없습니다. Stale/regen는 이미 조사합니다 표면은 일단 입증 범프 EDT3→EDT4/TRF1→TRF2를 한 번 자동적으로.

  10. · kamo-internal

    표면 타일 staleness + 대상 "Regenerate N" 페이지에

    에이전트 스냅 샷은 이제 per-recipe staleness (업데이트 / stale / 누락); API + SSE를 통해 페이지에 배관하십시오: - 서비스 탭은 타일 서비스당 신선도 라인과 시작 버튼이됩니다. "Regenerate N" (= stale + 누락) 대상이 될 때, 또는 "일시" - 개요 완료 타일 힌트는 얼마나 많은 타일이 updating해야하는지 보여줍니다. 시작은 이미 입증 된 호스트에 구동, 그래서 버튼을 트리거 대상 정확하게 stale/missing 세포의 regen.

  11. · kamo-internal

    우주 세계 세대 관리자 페이지

    플랫폼 관리의 /settings/platform/universe 추가 - 자체 플랫폼 카드 + 세 sub-tabs (Overview, Services, Actions) - 시작 및 모니터링 KamoUniverse 세계 데이터 파이프라인 라이브. Backend (다음 API, 플랫폼 관리자는 *** 세션을 통해 게이트, 같은 규칙 클라이언트 감시): - app/lib/worldgenNats.ts: 1개의 긴 살아있는 NATS 연결 + 상태 가입자 그 캐시는 최신 퍼 스테이지 상태 + 스냅 샷 (in-memory + Redis) 및 SSE를 위한 In-process 버스에 re-emits. 시작 명령을 게시합니다. - app/api/universe/services 각 단계의 현재 국가를 얻으십시오 (status + 도와 카운트 + lockHeld). -********** k3m1 에이전트에 시작 명령을 POST. - 앱/api/universe/stream SSE 스트림 라이브 상태/snapshot 이벤트. Frontend (MUI + next-intl, 구성 페이지를 미러) : - useWorldgen : 모든 탭에 대한 하나의 공유 SSE 스트림 (자동 연결) + 시작 (). - 개요: 대리인/배치/completion/tile 법령 도와 + 살아있는 파이프라인 가로장. - 서비스 : 스크립트 당 풍부한 카드 - 역할 + 수행, 라이브 상태 배지, have/total 진도 막대기, 마지막 사건 및 시작 단추 (장애되는 동안 모든 배치는 세계적인 자물쇠를 붙듭니다. - 행동 : 전체 파이프라인 또는 개별 단계 (확인)을 실행, 플러스 스냅샷 새로 고침. 배선: NATS URL configmap에 추가; `nats` 클라이언트 의존성 추가. k3m1의 에이전트 + 스크립트 telemetry는 우주-earthdata에 살고; 번역에 문자열 사전. tsc는 모든 새로운 파일에 청소합니다.

  12. · kamo-shared-library

    자주 묻는 질문(FAQ)

    이메일은 inconsistent case(e.g. Sage@KamoCRM.com)로 저장되며 CockroachDB 문자열 평등은 case-sensitive이므로 findByEmailEmail misses 자주 묻는 질문 비밀번호 복구 이메일 조회가 필요합니다.

  13. · EmailService

    앱 DB (drift recovery)의 셀프 치유 사서함 계정

    앱 DB는 사서함이 존재하는 진실의 근원입니다; KamoMail 메일 서버의 virtual users에서 라이브 계정. 메일 DB가 데이터를 잃는 경우, mailboxes는 app 기록이 남아있는 동안 공급자에 누락됩니다. - MailboxSelfHealService : 시작 + 매일, KAMO MAIL 앱 재제작 mailbox가 virtual users (fresh 임의 앱 관리 암호)에서 누락되었습니다. - syncMailboxes (설정 "Sync"작동) 이제 앱 -> 프로바이더를 밀어 어떤 누락된 mailbox, 다만 수입품 공급자->app.

  14. · kamo-internal

    Switched 회원 mailbox를 대신하여 보상

    - Thread mailbox 소유자 memberActiveMailbox를 통해 스위처에서 compose context (event + URL param). - 새 메시지 / 답변 / 선택한 회원 메일 박스에 대한 개방 된 작곡 : dropdown 리스트에서 회원의 사서함 + 별칭, 서명 맞춤 설정 그들에, 그리고 그들의 mailbox (mailboxId)로 보내/draft 정정. - 회원 mailbox가 활성화되지 않을 때 자체가 변경되지 않습니다.

  15. · kamo-internal

    공유 쿠키 대신 per-tab sessionStorage에서 *** 이동

    세션 ID는 모든 탭에서 공유된 브라우저 쿠키에 살았습니다. 기원, 그래서 두 번째 탭 (인원) 자신의 세션을 보유 할 수 없습니다. SessionStorage (per-tab)에 캐리어를 이동: - SessionClient: 토큰 도우미 + 글로벌 fetch 래퍼 X-***-Token과 같은-origin /api 호출, 플러스 한 번에 cookie->sessionStorage 마이그레이션. SessionBootstrap을 통해 설치. - *********** header-first (코오키드 백) 에 의해 사용 create-otk, session/info, session/extend, 로그아웃, meet/invite-email. - generateOTK + getKsemIdFromRequest는 쿠키를 통해 X-***-Token을 선호합니다. - /api/validate no longer sets a *** cookie; id와 반환 /validate 페이지는 이 탭의 SessionStorage에서 저장합니다. - useUserInfo + 모든 WebSocket 후크는 sessionStorage에서 id를 읽습니다. - 로그아웃은 저장소를 정리하기 전에 토큰을 캡처하므로 Redis 세션 아직 유효하지 않습니다. Impersonation 이제는 /validate?otk=... 새 탭에서 (same pathway) 로그인: Redis 세션 생성 서버 측, OTK는 /validate); 새로운 탭은 자체 세션을 얻고 관리자 탭은 터치되지 않습니다. 제거하기 사용하지 않는 keepPrev/ImpersonationBanner 반환에admin 기계장치. Orgs는 도메인에 의해 분리 남아 — unchanged.

  16. · kamo-internal

    회원 설정 헤더에 God-mode Impersonate 버튼

    /settings/member/[id]에 top-right 'Impersonate' 작용 추가 서명인 세션이 신 모드(getIsGod)와 대상을 나타낼 때만 자체/새로운 것은 아닙니다. 새로운 /api/security/impersonate를 호출하고, 다음을 스왑합니다. *** 새로운 탭에서 OTK 경로 (/validate?otk=...&keepPrev=1)를 통해 쿠키. keepPrev는 Redis의 관리자 자체 세션을 보존합니다. 이름 * 배너는 관리자 ***를 할당하고 클릭 한 클릭 '반환 my account(same-origin 쿠키는 한 번에 두 개의 라이브 세션을 열 수 없습니다). SettingsView는 옵션 headerAction 슬롯을 얻습니다.

  17. · SecurityService

    God-mode 회원 가입 종료

    POST /api/security/impersonate는 arbitrary를 위한 신선한 ***+OTK를 mints 콜러의 현재 org의 회원, 콜러 세션에 게이트 신 모드 (GD). SUDO MEMBER ID로 신 관리자의 회원 ID를 기록합니다. 감사. EnterAsController와 동일한 로그인 모양 세션 빌드, 하지만 같은 그리고 cross-org 보다는 오히려 신 gated.

  18. · SecurityService

    반환 orgName + 언어 /user-info

    Org의 표시 이름과 회원의 선택 언어 해결 (ISO-639- 1명 1명 코드) DB에서 그래서 kamo-universe는 각 플레이어의 org + 언어 플래그를 보여줄 수 있습니다 그들의 명찰에. 해결 된 라이브 ( 세션에서 아닙니다) 그래서 기존 세션 자주 묻는 질문.

  19. · kamo-internal

    KamoUniverse 실행 카드 + nav 아이콘 (gated ACCESS KAMOWORLD, OTK 재생으로 리디렉션.*)

  20. · kamo-shared-library

    KamoUniverse 액세스를위한 ACCESS KAMOWORLD 권리 (145, 게임) 추가

  21. · KlusterServices

    K1m1 이미지 레지스트리 교체 은퇴 k0m1:5000 (사임 자격)

  22. · KlusterServices

    Kamo-universe namespace+quota+valkey, CockroachDB 백업, 관찰성 스택

    - 우주 /: 네임스페이스 + ResourceQuota, valkey-universe (AOF, hostPath k1m1), nightly CockroachDB 백업 CronJob, 연산자 부트 스트랩 스크립트 - 모니터링/: 핀 helm 값 *********** 스크립트를 설치, grafana.* 경로, 우주 대쉬보드 + alert 규칙 - CI: k1m1 단계의 우주 namespace+valkey 적용 (NATS 패키지는 떨어졌다 : 43030d6 이미 계정 고립을 가진 re-homed k3m1)

  23. · KlusterServices

    K3m1 노드 + 클러스터를 LAN IP로 추가

    - statefulset: 192.168.4.x (k1m1=.22, k3m1=.36) 이상 광고/조인; WireGuard 떨어졌다 (k3m1 wg0 10.8.0.1 k0m1의 광고 IP). - init-job + CI kubeconfig 엔드포인트는 LAN IP로 이동했습니다. - CI: K3M1 CockroachDB 배포 섹션 추가 (K3M1 KUBECONFIG B64 비밀).

  24. · kamo-login

    로그인 후 체크 아웃하는 노선 유료 가입

    성공적인 우 (수직 또는 자동 로그인) 후, apex-domain을 소비 sp checkout plan 쿠키는 kamo-register에 의해 왼쪽 및 구매자를 리디렉션 상표 /subscribe?plan= 페이지(Stripe checkout) 대신 기본 앱 여행 정보 One-shot : 쿠키가 읽습니다.

  25. · kamo-register

    유료 ?참고에서 체크인로 계획

    회원 가입이 유료 가격 CTA (?plan=pro|사업)에서 시작될 때, apex-domain sp checkout plan 쿠키를 완료하십시오. kamo-login 소모 사용자 인증 후 /subscribe -> 스트립, 등록 -> 확인 -> 로그인 hops.

  26. · kamo-shared-library

    Canonical e-sign Signer 템플릿 (verification + 초대)

    Org 당 lazily 씨를 뿌린 2개의 플랫폼 넓은 canonical 이메일 템플렛을 추가하십시오: - esign.signer verification (단계 업 OTP: {{code}}, {{name}}) - esign.signer invite (신호: {{name}}, {{sender}}, {{message}}, {{link}}) CanonicalTemplateLoader의 핵심 목록 + 자원으로 그(것)들을 타전하십시오 EmailService.seedForOrg는 먼저 보냅니다. 활성화 라이브 OTP/invite e-sign 흐름에 대한 납품 ( 템플릿없이 최고의 노력 no-op).

  27. · BillingService

    E-sign 사용법 미터로 재기 + 소비자 셀프 서비스 체크 아웃

    #4 미터링: - EsignMeterSubmissionService (@Scheduled daily) : API-origin의 집계 EsignUsageRecords per org+period; 처음 40/period 포함, 나머지 제출 Stripe MeterEvents로. 보고를 통해 IdempotentToStripe + 사용 기록 UID로 MeterEvent 식별자 (스트라이프 사이드 dedupe). 미터 이벤트 이름을 해결 addon의 실제적인 줄무늬 가격에서 *********** 이렇게 그것 가격의 어떤 미터와 일치합니다 (명칭 mismatch). #5 소비자 체크아웃: - ConsumerCheckoutService: Stripe Checkout 세션(mode=subscription) 제품 루트의 계획 가격 (+ 사업을위한 미터 초과 선); 기록 AccountSubscription (source PAID) + 구독회원 + 계정 완료 및 불평. - ConsumerSessionResolver : 구매자가 자신의 *** 쿠키를 통해 인증 Redis ( 클라이언트 세트 org 헤더가 없습니다). - 소비자체크아웃컨트롤러 POST *************** - StripeWebhookService는 이제 checkout.session.completed를 처리합니다. 소비자가 구독할 때까지 첨가제/inert; 실시간 충전은 실제 카드가 필요합니다.

  28. · kamo-internal

    Expose API SIGNATURE (E-Signature API) 주요 범위

    Org API 키 관리자에 E-Signature API 범위를 추가하므로 직원은 보조할 수 있습니다. Business orgs programmatic e-sign 액세스. 매달 포함되는 사용법 할당은 서명 당 미터로 설정됩니다.

  29. · APIService

    Public programmatic e-sign API 게이트웨이 (API SIGNATURE 범위)

    /api/public/esign/**를 PublicApiController에 추가하십시오: org API 키를 유효하게 합니다. API SIGNATURE 범위, 속도 제한이 필요하며 ESigService의 기대 X-Internal-Auth + X-Org-Id를 가진 내부 봉투 API (/api/esig/internal/**). 구독 catalog 게이트웨이 precedent를 미러링합니다.

  30. · ESigService

    내부 programmatic envelope API (origin=API) 비즈니스

    - EsignInternalController (/api/esig/internal/*): X-Internal-Auth + X-Org-Id APIService가 API SIGNATURE-scoped 키를 유효하게 한 후 authed; EsignEnvelopeService, 태그 봉투 EsignUsageOrigin을 재사용합니다. API 지원 - *********** 근원 하중 초과 (MANUAL 과태) - 봉투의 기원 (API -> overage, MANUAL 결코)에 의해 지금 미터 서명 경로 - OTKAuthFilter bypasses /api/esig/internal (내부 secret authed, OTK)

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음