에 의해 배포 digest, 태그에 의해
Preceding commit stops `set image` 침묵의 no-op. 이 주장 outcome : 롤아웃 후, 태그는 레지스트리에서 소화로 해결됩니다. 실행된 파드는 그것에 대하여 검사됩니다. 팟이 실행되지 않은 경우 생성, 빌드는 성공보고 대신 실패. 태그는 그 질문에 대...
동일한 커밋의 재건은 아무것도 배포하고 성공을보고
이미지는 커밋 SHA로 태그되어 있으므로 동일한 커밋 생성을 재구성합니다. 동일한 이미지 참조. `kubectl set image` 그런 다음 아무것도 변경, 배포는 결코 터치되지 않습니다, `rollout status`는 즉시 성공 OLD pods, 그리고이 파이프라인은 아무것도 배포...
공유 스윕을 잠금하고 두 개의 팟을 실행
모든 @Scheduled Cleaning 여기에는 그 효과가 공유되어 있습니다. SingletonTaskRunner는 아무것도하기 전에, 그래서 대신 함대를 통해 한 번 실행 팟. 그것은 하나의 복제에서이 서비스를 유지하는 유일한 일이었다 - 거기 ShedLock 어디서나 이 플랫폼은,...
롤아웃은 오래된 파드가 행해지는 것
Deploys는 요청을 잡기 위해 아무것도와 함께 각 서비스의 유일한 파드를 대체 비행. 함대에 적용된 3개의 조정: - 프로세스가 SIGTERM을 참조하기 전에 10s를 잠그십시오. 쿠버네티스는 팟을 제거한다. EndpointSlice와 같은 순간에 신호, 그리고 Traefik는 제...
A KB 링크는 그 텍스트 이름에 간다
회원은 어떻게 자신의 org를 설정하고 설정 체크리스트를 다시 가지고, 각 그것을 설명하는 기사를 naming 단계. 모든 3 링크는 동일하게 지적 기사 — "Essential Setup"- 그리고 아무도 링크에서 이름을 도달. 지식 베이스의 허브 기사는 일반 텍스트에서 sibling...
업스트림 오류 텍스트가 회원에 도달하지 않고, 어느 공급자가 실패
회사 소개 getMessage()를 통해 떨어졌다 AiProviderException. HuggingFace 어댑터는 정제를 분류합니다. 모든 다른 하나는 HTTP 클라이언트 threw, 및 Spring의 WebClientResponseException은 상류 방법, URL 및 완료"....
모델을 은퇴하는 공급자는 노선을 원하지 않으며, 회원에게 정해진 중지
라우터 카탈로그 수정에 따라. 그것은 unroutable 모델이 중지 LISTED; 이것은 org의 카탈로그에서 이미 하나의 중지 조력하고 파손을 narrating. 두 가지는 일단 stale 행이 존재하는 한 잘못되었습니다. 어댑터 실패 RuntimeException(status +...
Hugging Face 모델을 나열하면 라우터가 실제로 역할을합니다
채팅은 Inference Providers 라우터에 간다 *********** 하지만 discoverModels 요청 HUB for model that are "warm" 어딘가 — 다른 많은 라우터가 주어진 토큰과 활성화된 공급자를 위해 봉사할 것입니다. · 모델 피커 제공 모델 라우...
읽지 않은 읽지 않은 읽지 않은 상태 제거
AI 읽지 않은 배지의 kamo-internal 제거와 결합 : 계산 결코 회원에게 아무것도 행동하지 말했습니다 (노 푸시 채널이 다시, 그래서 non-zero는 "당신은 그것을 완성하기 전에 창을 극소화했습니다"), 그래서 두 개의 엔드 포인트가 너무 간다. 드롭 GET /api/a...
리뷰 및 후기
Session guid에 의해 Keyed, 도구 창은 무엇을 운반. 감사하지 않음 disclosure : 계산을 반환하고 transcript의 단어가없는, 녹음 배지 새로 고침은 실제 disclosures를 버리는 것입니다.
핀 kamo-shared-library 1.6.0
도서관은 1.6.0으로 이동하면서 소비자가 1.5.0에 머물렀습니다. 소비자 CI 구축 신선한 클론의 라이브러리는 감기 ~/.m2 및 ci-settings.xml 미러로 Maven Central 만, 그래서 1.5.0은 어디에서 fetchable이며 빌드는 실패 해결하기 그것은 여전히 ...
자신의 JVM 힙 천장 위의 포드 크기 [skip ci]
이미지는 -XX를 가진 JVM를 시작합니다: MaxRAMPercentage=70 -XX:+ 항상PreTouch, 그래서 heap 혼자 걸릴 수 있습니다 70% 컨테이너 제한 및 사전 터치 모든 최선을 다하고 자주 묻는 질문 Non-heap - uncapped 메타 스페이스, 코드 캐시,...
관리 모델 및 읽기 사용은 그 이름의 권리를 가지고
AiModelController 및 AiUsageController는 조직 소유권을 확인하고 권리가 없습니다. 403s 이미 모델 컨트롤러 비교 공급자.getOrganizationId() 에 session's org - 실제 tenant 고립 및 다른 질문은 콜러는 모두에서 모델을 관리...
객체 저장 비밀 ConfigMap 더 이상 운반하지
MinIO 키가 ConfigMap에서 minio-app-credentials로 이전되었습니다. secret, 하지만 env그것을 공급하는 것은 단지 살에 적용되었다 배포 — 절대 여기에. 다음 CI는 이 표현을 넓혀줍니다. ConfigMap을 기본과 환경 없이 남겨두면 그것을 만족시키고...
Config default로 공유된 자격 발송
플랫폼의 공유 암호는 DB PASSWORD에 대한 fallback으로 구워졌습니다. MINIO ROOT PASSWORD, 그래서 그것은이 저장소에 살았고 내장 된 이미지뿐만 아니라 클러스터에서. 생산은 DB 기본값을 사용하지 않는 — *** 공급 envFrom를 통해 DB PASSWO...
공유-library @Lob LONGVARCHAR 수정에 대한 재건
Hibernate의 PostgreSQL 방언은 getLong()를 통해 OID로 @Lob String 칼럼을 읽습니다. Affects 메모, 연락처, 달력, OAuth 토큰, IMAP 암호, 이메일 캠페인 몸, webhook 비밀, Canva 및 소셜 자격.
YugabyteDB의 포인트 및 PostgreSQLDialect 사용
CockroachDB는 YugabyteDB에 의해 대체되었습니다. 연결 문자열에서 이동 cockroachdb-public:26257 yb-tserver-service:5433, 그리고 Hibernate 방언 ...에서 *********** 에 PostgreSQLDialect.
LAN 업 링크가 손상을 방지하는 공유-library 빌드를 복원
세 가지 빌드는 오늘 "Tag mismatch"에서 jar를 당겨 - 거울은 1 시간 전에 추가하지 않았다 kbservice, mcpgatewayservice 및 ragservice가 Google에 대한 동일한 오류를 히트 거울 자체. 그래서 이것은 결코 Maven 중앙 속도 제한이 없...
Google GCS 사본을 통해 Mirror Maven Central
모든 도커 스테이지는 추운 ~ / .m2에서 시작하여 전체 종속 나무를 굴절시킵니다. 그래서 중앙은 모든 동시 서비스 구조의 전체 무게. 그것은 429s와 함께 답변, 오늘 두 번, 손상 전송: BillingService 일어난 일에 태어난 "Tag mismatch" tomcat-emb...
Persist AI 대화 PHI 액세스 트레일 phi access log
Stored Assistant 대화는 적어도 14 일 동안 감당할 수 있습니다. unqueryable 로그 스트림 : 모듈은 준수 경계 밖에 앉아 있으므로 차용인에 대한 프롬프트는 불확실하고 §164.528 회계 정확히 이길에서 6 년 후 조립됩니다. 레코드Disclosure 이미 쓰기...
공유 MFA 저장소 스캔
MfaEnrollmentService는 kamo-shared-library의 @서비스이므로 와일드 카드 @ComponentScan("com.kamo") 이 응용 프로그램에서 여부 또는 이지 여부를 구성 서비스는 MFA와 함께해야 할 일이 있습니다. — 그리고 그것의 constructor...
저장된 AI 대화 역사의 모든 읽기에 대한 PHI 액세스
공유된 §164.312 (b)를 유선으로 회전시키는 경로에 persisted prompts 그리고 완료. 조수는 모듈을 준수 평가를 넣어 경계를 OUTSIDE — 프롬프트는 BAA가 아닌 외부 공급자로 팬을 그런 다음 무한하게 유지 - 그래서 그 저장의 읽음은 가장 불쾌한 길의 필요, ...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 4 파일 변경, 397 삽입(+), 3 deletions(-)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
시력 실패를 분류하십시오 그래서 retry 반복과 차단기는 실제로 일합니다
VisionComplete의 두 가지 버그, 두 개의 패배 기계가 그들을 처리하도록 내장. blank-content 응답은 SUCCESS로 돌아와 리트리 루프를 종료했다. 모든 어댑터 또한 set finishReason "error"- 그래서 정확한 실패 루프는 생존에 존재 (모델 그...
시약 scorecard
각 대리인은 실제로 했습니다: 대화는, 얼마나 자주 사람이 위에 가지고 있던지 그리고 왜, outreach outcomes는 다시 개최, 그리고 그 비용. 각 수는 1개의 자료는 실제로 지원할 수 있습니다. 세 가지는 deliberately 참고 : - ** 토큰 합계 없음.** 그...
이미지를 보낼 수없는 어댑터에 비전을 결코 경로를
AiProvider.supportsVision는 손 편집 가능한 데이터베이스 깃발이고, routing는 혼자 그것을 신뢰했습니다. HuggingFace 및 Cohere 어댑터는 이미지를 읽지 못합니다. supportVision() — 올바르게 false를 반환 — NOWHERE: 죽은 ...
모델 가격 카탈로그, 쓰기 경로 및 backfill
비용 회계는 결코 작동하지 않을 수 있었습니다: AiModel에는 가격 란, AiModelController가 있습니다 그들에게 읽고 ChatOrchestrationService는 costEstimate를 계산하기 위해 그들을 읽습니다. 그러나 NOTHING은 어디서든 썼습니다. 모형은...
Agent-initiated handoff 에 인간의, 와 context
AI는 이전에 사람을 요청할 수 없었다 : 에스컬레이션 규칙은 모델에 도달 컴파일 된 프롬프트를 통해, 그러나 기계 읽기 쉬운 신호가 없었다, 그래서 모델은 SAY만이 누군가와 아무것도 일어나지 않을 수 있습니다. - 합성 kamo request human 도구, 에이전트 자체 활성화...
아웃바운드 트리거, 스케줄러 및 웹 채팅 파견
Outreach 회전을 실제로 불을 만듭니다. 문, 접촉 국가, 동의 및 감사는 이미 존재; 아무것도 평가 될 터치 발생. - 자체 k8s/configmap.yaml (각 Java 서비스)를 통해 AIService에 NATS 활성화 k8s dir; KlusterServices는 클러스...
Persist org-wide 필수 텍스트 및 즉시 적용
AiOrgSettings 주어진 forcedPreamble/forcedFooter 및 SalesAgentCompiler 이미 모든 에이전트로 접을 수 있지만 설정 컨트롤러는 읽지 않고 썼습니다. 그들 - 그래서 기능은 죽은이었다: 저장은 성공에 등장하고 다시 와서 reload에 공백. ...
Anthropic은 모든 시스템 메시지를 떨어졌다 그러나 마지막
buildRequestBody는 시스템 필드를 축적하는 것보다 더 많은 것을 할당했습니다. 하나의 시스템 메시지 만 최종 하나의 모델에 도달했습니다. 그 연습 meant: 빨리 retrieval는 지식 구획을, 대리인의 OWN 주사했습니다 지침은 침묵적으로 멀리 던졌다 - 그것의 준수를...
잠금 규칙은 섹션 또는 전체 문서 override를 생존
규칙 섹션을 통해 복용 한 저자는 전체 섹션 몸을 대체, 그 안에 잠겨있는 팩 규칙을 버리는 것은 - 그래서 'never 인용 회사 번호로 비율은 그 단면도를 쓰기 위하여 선택하여 다만 제거될 수 있었습니다 이름 * 어떤 저자든지 전환 편집 형태에 의해 패배할 수 있는 자물쇠는 자물쇠가...
판매 시약 컴파일러, versioning, outreach 문; 수정 도구 재생
Structured Agent config는 시스템 프롬프트에 컴파일하고, 출판당 동결 버전, 그리고 게이트를 얻는 대리인은 개시 접촉의 앞에 통과해야 합니다. 채용 정보 - AgentConfig + SalesAgentCompiler : 구조화의 순수하고 세분화 컴파일 config로 ...
Sales-agent CRUD, 모기지 템플릿 및 에이전트 구동 채팅 프롬프트
- AiSalesAgentController (/api/ai/sales-agents) : org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry : 내장 스타터 템플릿, 시작 mortgage-borrower 조수 (complianc...
Streamed replies는 떨어졌다, persisting 공백 조수 메시지
모든 성공적인 채팅 완료는 EMPTY 보조 거품으로 돌아 왔습니다. 더 보기 조수 행은 content len=0 과 is error=false 로 저장되었으므로 클라이언트가 믿고 아무것도 렌더링하지 않았다. 원인 : 리터럴 "data에 필터링 된 스트리밍 어댑터 : " prefix (...
비전 모델이 이미지를 거부 할 때 다음 모델을 시도
Modality fix 후에 다시 프로빙 생산, 라우팅은 text-to-speech에서 이동 o3-mini 모델 - 이미지 입력이 필요없는 o-series reasoning 모델 502을 반환합니다. 즉, 이 레슨은 model-NAME heuristic에서 제공됩니다. 발견과 손 편집이...
Text-to-speech 모델로 비전을 routing 중지
생산에 의해 발견: org 1188756624575266822의 시각은 해결했습니다 gpt-4o-mini-tts-2025-03-20 - TEXT-TO-SPEECH 모델 - 그래서 모든 비전 호출은 502을 반환. 문서 추출 및 기타 비전 기능은 그 임차인에 대해 실패했습니다. 두 독립...
Inline 이미지 비전 + tier fallback은 약초보다 더 강한 것을 선호합니다
2개의 한계는 org-configured 시각을 호출기의 전체적인 종류를 위해 무능하게 했습니다. 1. 비전은 URL-ONLY이었습니다. 모든 콜러는 대중을 서있었습니다, 공급자 fetchable 서빙 인프라 - 서명자, 불확실한 봉사 endpoint, 진입. 클러스터IP 서비스는 o...
쿼리를 통해 기록 이미지, 게으른 getImages() (WS 경로)
*********** WebSocket 경로에서 실행 (에서 호출 됨) AiChatWebSocketHandler), HTTP 요청이 아닌, 그래서 열려있음-in-view 적용되지 않습니다. 로드 된 역사와 터치 msg.getImages() (LAZY @OneToMany) 그 분리 된 엔...
SWITCH Model을 사용하여 세션을 자동 재설정할 수 있습니다
handleSwitchModel 항상 UUID-parsed modelId 및 null에 오류, 그래서 세션 자동 모형 선택 mid-chat에 결코 되돌릴 수 있었습니다. Parse 모델 a string: null/empty/"auto" 세션 모델을 삭제합니다 (setModel(null)...
FindByKeyHashAndEnabledTrue와 통합 프롬프트 해결 (disabled integration = absent, match bootstrap)
통합 공개 AI 신속한 + 세션 attribution
Per-org에서 public-chat system-prompt 폭포 업그레이드 per-integration: PublicAiChatController 지금 읽기 X-Public-Chat-Key-Hash 헤더 (nullable) APIService에 의해 전달 그것을 전달 *******...
Tier-aware 내부 텍스트 완료 (POST /api/ai/internal/text)
Vision Path를 미러: selectTextProvider 요청된 org의 활성 공급자를 선택합니다. Cost tier (LIGHT/MEDIUM/HEAVY), 우선순위로 떨어지기; textComplete는 한 샷 완료를 통해 실행 org의 자체 구성 공급자. X-Internal-A...
Robust vision 제공 업체/모델 선택
Two-pass selectVisionProvider: 활성 비전 캡블 모델이 있는 org 공급자를 선호합니다. 어댑터는 이미 image url 컨텐츠를 방출하고 supportVision을 보고서합니다. 그런 다음 다시
공급자 cost-tier/vision passthrough + 내부 원샷 비전 엔드포인트
AiProviderController reads/echoes costTier + supportVision. 계정 관리 서비스 이득 selectVisionProvider (orgId, 계층). *************** 원샷 실행 org의 공급자/adapter ( session/RAG/...