Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-shared-library
CallRecordingAccess et LeadCommsReadRule — la règle de la décision 4 pour chaque porte d'enregistrement (dieu, participant, VIEW CALL LOGS, VIEW VOICEMAIL pour un message vocal, la chaîne de gestion en vertu de la décision 3a, la porte de communication principale), son chargeur de faits, et la règle de lecture principale déplacée vers la bibliothèque partagée (KamoCollab CP05 Tâche 12)
· MediaService
Conversations supervisées — une règle SUPERVISED enregistre le surveillant de son sujet, qui peut lire la conversation (et ses fichiers) en lecture seule pendant que la ligne de rapport détient, la voit répertoriée à GET /api/media/chat/supervisé, et l'état des politiques dit supervisé (KamoCollab CP04 T15)
· KBService
Le graphique org de KBService et chaque note lue à travers le prédicat élargi — les notes partagées atteignent leur public en lecture seule; créer et mettre à jour refusent une portée partagée (USE RELEASE) et les catégories réservées (RESERVED CATEGORY) (KamoCollab CP05 Tâche 15)
- orggraph/OrgGraphBeanConfig + OrgGraphEventListener: le chargeur, les 60 s cache, et un abonnement de base à security.orggraph.changed.* qui expulse l'org (la permission de svc kb est la tâche 6A du CP02). - Oui. membre de l'équipe et actif, chemin de département, niveaux jusqu'au niveau effectif; aucun noeud = propres notes et le maître des orgues seulement. - NotesService: getNote, getAllNotes, searchNotes, getAllCatégories, getVersionHistorique, restaurerVersion et getLinkedNotes lues dans le NoteRepositoire de recherche visible avec le public du résolveur; restaurer et mise à jour de séjour propriétaire seulement (ou l'org master avec son droit); supervisere lire sont les propres notes de la supervision (findByMemberId / findByIdAndMemberId). NoteDTO porte connaissancesPortée, portéeRéf, sensibilité, confidentialité, confidentialSetByMemberId, propriétaire et publicMemberIds pour le propriétaire d'un NAMED note; éditable = propre note, ou le maître org avec la droite. - NoteVisibleQueryTest : le dépôt s'appuie sur l'Hibernate et VISIBLE fonctionne comme une UNION clé (arrêt CP05-T15-1).
· kamo-shared-library
SourceClearance and ReleaseAuthority — les bases structurelles (soi-même ou participant, accès existant, chaîne de gestion avec l'auteur de la décision 3a) et l'autorité de libération (participation, l'auteur confidentiel, la portée de l'auteur), avec leurs dossiers (KamoCollab CP05 Tâche 11)
· SecurityService
Contrôles de référence pour la couche ORG, org archétypes et conditions d'escalade, et org archétypes à résolution — chaque couche inférieure peut masquer un élément ORG déverrouillé (un rôle seulement), un org : l'archétype doit être le propre (archetypeRef), une cible ESCALATION CONDITION suit les règles d'escalade (escalateToRef) et CharterService résout avec OrgArchetypeLookup (KamoCollab CP03 T15)
· SecurityService
Liens de travail pour les leads et les comptes — POST ************* **** réponses quels membres sont assignés qui mène et sur lequel les comptes primaires (KamoCollab CP04 Tâche 10)
· KBService
Liens de travail pour les tâches — POST ***************** répond qui a une tâche ouverte sur laquelle les enregistrements (KamoCollab CP04 Tâche 9)
TaskWorkLinkService implémente WorkLinkResolver: une tâche ouverte (non DONE, sur un liste de contrôle en direct, dans l'org) relie son cessionnaire et créateur à la tâche elle-même (TASK:<id>, par item id) et à chaque enregistrement il se connecte à (checklist item links, assorti par nature et réf). Derrière KamoaiInternalAuthFilter; WorkLinkWire demande stricte, 400 raisons INVALID, la carte nue avec des ids de chaîne.
· kamo-shared-library
Un prédicat de note élargi — NoteAudience, NoteRepository.VISIBLE et ses huit décodeurs visibles; les sept vieux décodeurs dépréciés pour l'enlèvement (KamoCollab CP05 Tâche 10)
· EmailService
Marqueurs de fils confidentiels et étiquettes EMAIL THREAD — PUT .../fil-confidential sur les boîtes aux lettres membres et partagées, un auteur audité, threadKey et threadConfidential sur les deux messages GET, POST **************** le graphique org (KamoCollab CP05 Tâche 20)
EmailThreadKeys est la seule règle de nom de thread **************** maintenant l'appelle): root Message-ID, UUIDv5 thread id, et la touche EMAIL THREAD sans crochets d'angle. email thread labels est JDBC-only (EmailThreadLabelStore): un set est un upsert conditionnel, un effacement conditionnel clair, clé par (org id, thread key); une course perdue est 409 MARKER CHANGED. ThreadMarkerWriter écrit le marqueur et son system access logs ligne dans une transaction @Transactional @RetryOnDbConflict. ThreadMarkers décide avec ConfidentialMarkerRègle sur le graphique de l'org de session: les détenteurs de la boîte aux lettres lisent de ( propres, cessionnaires, accès à la boîte aux lettres partagée) ou les membres de la portée de From/To/Cc sont participants; un lecteur de boîte aux lettres toutes ne l'est pas. EmailThreadLabelResolver marque un thread à partir de l'index (titulaires dans l'org, adresses d'index de recherche, adresses d'entreprise exclues de l'extérieur, leads by root and thread id, le marqueur) et pour les étiquettes de Message a chargé l'original pour la vérification du courrier. OrgGraphBeanConfig et OrgGraphEventListener suivent le CP02.
· kamo-shared-library
Le dépôt d'éléments de l'équipe compte les éléments qui sélectionnent un archétype org, par son index archetype ref partiel — le sixième compte en usage (KamoCollab CP03 T15)
· MCPGatewayService
DivulgationLedgerStep écrit chaque événement du grand livre d'appel à la porte, avant ou après l'envoi, et DisclosingTools liste les outils de divulgation (KamoCollab CP08 Tâche 10)
· MediaService
Une personne demande à son gestionnaire d'ouvrir une discussion sur la politique de communication pour approbation, et une approbation ouvre une subvention de contact de 30 jours (KamoCollab CP04 T14)
Les paramètres de la session POST=GET **************** GET .../{id}, POST .../{id}/décision; l'administrateur Allez-y. (manage chat settings). CONTACT REQUÊTE et CONTACT DECIDED après s'engager; un balayage d'expiration de dix minutes seulement.
· SecurityService
Paramètres de divulgation, GET et PUT **************** (KamoCollab CP05 Tâche 13)
Spec §5.5, D6: lit par CONFIGURE SYSTEM, MANAGE ACCESS RULES, VUE ACCESS LOGS ou MANAGE AI WORKFORCE (ou ouvrir la fenêtre de Dieu); éditer par CONFIGURE SYSTEM ou une fenêtre de Dieu. La réponse par défaut avec stocked:false jusqu'au premier PUT insère la ligne. Chaque champ envoyé est validé (400 {champ, raison:INVALID}); l'upsert est son propre @Transactional @RetryOnDbConflict bean; après avoir commis, DISCLOSURE SETTINGS CHANGED va au journal d'accès, HAUTE sur un changement de mode d'exécution, sinon MOYEN, énumérant seulement les champs modifiés. mis à jourByName suit la règle d'affichage du nom de la charte (CharterService.displayName, maintenant public). OrgDisclosureSettingsReader est un haricot ici.
· kamo-shared-library
La validation accepte la PERSONNALITÉ et la DocsTION — les règles de caractère par type de clé, les groupes ordonnés, les tendances liées qui ne peuvent être verrouillées, les références d'archétype dans une orthographe, la note lintée, les sept types de Docstion avec leurs champs, gammes et unicité par couche, les objets d'archétype et les marqueurs de cache ROLE (KamoCollab CP03 T12)
· kamo-shared-library
LIBE TO ORGANISATION (333) sous VIEW NOTES, jamais admissible à une SI (KamoCollab CP05 Tâche 9)
Rendre une note ou une décision à l'ensemble de l'organisation est une loi sur une note releader peut lire, de sorte qu'il accroche VIEW NOTES dans l'application Notes (spéc D21). C'est Dans AiRightsFloor.NEVER GRANTABLE (master R1-32): un SI rédige une version par LIBE INFORMATION, et seulement une personne libère, de sorte qu'aucun SI appliqué des droits changent.
· MediaService
Marqueurs confidentiels sur les conversations et les réunions, et leurs étiquettes — GET=PUT ******************* *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************KamoCollab CP05 Tâche 19)
· EmailService
Déclarez l'enregistreur du registre de divulgation, jumelé à son analyse de dépôt (KamoCollab CP08 Tâche 12)
DisclosureLedgerConfig déclare DisclosureRecorder; EmailServiceLes gains @EnableJpaRepositories Dans le même commit. DivulgationLedgerWiring Tester les données de printemps registrateur sur la propre annotation de l'application et échoue lorsque l'entrée de numérisation est manquante.
· MediaService
Déclarez l'enregistreur du registre de divulgation, jumelé à son analyse de dépôt (KamoCollab CP08 Tâche 12)
DisclosureLedgerConfig déclare DisclosureRecorder; MediaServiceLes gains @EnableJpaRepositories de l'application Dans le même commit. DivulgationLedgerWiring Tester les données de printemps registrateur sur la propre annotation de l'application et échoue lorsque l'entrée de numérisation est manquante.
· KBService
Déclarez l'enregistreur du registre de divulgation, jumelé à son analyse de dépôt (KamoCollab CP08 Tâche 12)
DisclosureLedgerConfig déclare DisclosureRecorder; les gains @EnableJpaRepositories de KBServiceApplication Dans le même commit. DivulgationLedgerWiring Tester les données de printemps registrateur sur la propre annotation de l'application et échoue lorsque l'entrée de numérisation est manquante.
· MCPGatewayService
Déclarez l'enregistreur de la divulgation, portez les colonnes de la politique et prévenez l'identificateur de vérification dans un lecteur téléphonique (KamoCollab CP08 Tâche 9)
DivulgationLedgerConfig déclare DivulgationEnregistreur, avec ******************* rejoindre @EnableJpaRepositories dans le même commit. mcp tool call audit gagne policy decision, policy rule et disclosure event id; la lecture I2 les renvoie. Chaque course d'appel tient une CallLedger dont auditId est l'identifiant de la ligne d'audit, et dont le timbre (R1-17: seulement écrit, échoué, DocstionOutcome ou readOutcome, jamais une libération tenue) remplit les trois colonnes.
· SecurityService
La couche ORG en premier pour chaque sujet de charte, au rang -1 et seulement lorsque l'org a des éléments ORG; les sujets ORG sur S3 et I2, l'org de l'appelant seulement (KamoCollab CP03 T14)
· MediaService
REQUIRES APPROVAL a besoin d'une bourse CONTACT, un SI peut répondre à la personne qui a écrit en premier, les dépassements sont enregistrés seulement quand ils lèvent un refus, et AUDIT ne bloque plus les pièces jointes (KamoCollab CP04 T13)
Les étouffements de chat demandent maintenant la politique de communication de subvention-aware. A REQUIRES APPROVAL règle refuse trouver-ou-créer et envoyer jusqu'à ce qu'un contact en direct subvention lie la paire sur CHAT, et le 403 dit CONTACT APPROVAL REQUIS avec l'identité du membre cible; l'approbation des rapports de l'État-politique. Un seul initiateur règle n'arrête plus un SI répondant à une personne qui lui a écrit d'abord (ChatReplyDetector, demandé seulement quand le jeu de règles a une telle règle). Les OVERRIDE CHAT POLICY droit n'est demandé qu'après un refus, et seulement une levée le refus est enregistré. Une règle d'AUDIT avec des pièces jointes est maintenant enregistrée pièce jointe au lieu de le refuser (défaut CP02 Tâche 6 garée).
· AIService
Le bref nom de discussion de l'équipe et les sorties seulement une fois qu'une charte fait (KamoCollab CP05 Tâche 8, R1-3)
C'est un instantané. L'approbation lit le niveau de source de l'approbation résolue (sans lire DEFAULT). CharterCompiler ne rend pas de ligne "Ce qui a besoin d'approbation" pour SEND INTERNAL MESSAGE ou LIBE INFORMATION pendant SecurityService résout la classe à son catalogue par défaut; un élément de charte qui la rend soit comme n'importe quelle classe. Correspondé par nom, donc ceci construit avant shared-lib a LIBE INFORMATION. VERSION est inchangée: aucune les modifications de texte de brief, et la pression de la lib partagée qui ajoute LIBE INFORMATION (APPROVE BEFORE) n'ajoute aucune ligne à n'importe quel dossier de SI.
· kamo-shared-library
Portée des connaissances, provenance, décisions, paramètres org et marqueurs confidentiels sur les entités (KamoCollab CP05 Tâche 8)
Modèle à lib partagée pour CP05 (préciser §5.1-§5.2, §5.15): - divulgation enums KnowledgeScope, LinkRelation, DerivedRecordKind, DecisionStatus, DisclosurePosture, DisclosureEnforcementMode; OrgDisclosureParamètres (entité), sa vue avec les défauts, et son lecteur; - la règle de confidentialité MarkerRule (définie, relevée, claire par rang) et MarkerAuditRows (la ligne system access logs); - Note gagne la portée des connaissances, la portée réf, la sensibilité et le marqueur porté; NoteAudienceMembre et NoteDécision; NoteLink et Liste de contrôleItemLink gagnent la relation et created by run id, avec des suppressions ONLY; - L'enregistrement et PhoneCallLog portent le marqueur de l'appel; LeadCommunicationRepository gagne la lecture des deux étiquettes; - NoteDTO, les demandes de note et le lien DTO gagnent l'étiquette, le propriétaire et les champs d'enregistrement dérivés; ChatMessageDto gains transmisÀ partir (absent quand null); - AccessLogEventType annexes CONFIDENTIAL MARKER SET, CONFIDENTIAL MARKER CLEARED, DISCLOSURE SETTINGS CHANGED; AiActionClass appends LIBE INFORMATION (APPROVE BEFORE) après SEND INTERNAL MESSAGE; APPROBATION maxItems 21. Additif seulement. Le bref changement d'AIService (R1-3) se déploie en premier, de sorte qu'aucun bref texte d'IS ne change.
· kamo-shared-library
Les types de registres de divulgation, les entités et l'enregistreur de divulgation (KamoCollab CP08 Tâche 4)
Ajouter uniquement org divulgation events et ses lignes destinataire et source (String colonnes, non @Enuméré, @PreUpdate/@PreRemove refus), le cinq grand livre Vocabulaires, DivulgationFormes canoniques de LedgerValues, DivulgationÉvénementÉbauche avec son mode d'échec, et DisclosureRecorder: une transaction REQUIRES NEW par appel, retrié en dehors de lui, échec fermé exactement pour les versions ENFORCE. Numéro stéréotype : chaque service d'enregistrement déclare le haricot avec son scan de dépôt. PhoneCallLogRepository gagne la recherche en vrac (instance, fournisseurExternalId).
· kamo-shared-library
Transférez les résolveurs de personnalité et de Docstion dans CharterResolver, le timbre et la vue — la surcharge de l'archétype, les marques des objets, Résolue. personality/Docstion, les douze champs et les lignes de R.S. dans le timbre avec les lignes héritées inchangées, les couches de pair dans un ordre de timbres fixe (KamoCollab CP03 T11)
· MCPGatewayService
Le texte de référence du lien désigne les six types d'appendices CP05 (KamoCollab CP05 Tâche 7)
· kamo-shared-library
Le contrat de divulgation de l'étiquette — SourceRef, DivulgationLabel, LabelOwner, le codec filaire et le client de l'étiquette; six annexes RecordLinkKind (KamoCollab CP05 Tâche 7)
· APIService
Carve out /api/docs/internal/** pour le paramètre de divulgation
KamoCollab CP05 Tâche 23. DocsService gagne POST **************** gardé seulement par le secret interne KamoAI et appelé in-cluster, donc la passerelle publique termine le sous-arbre entier par un 404 au lieu de le transmettre.
· kamo-shared-library
WorkLinkResolver et son fil, avec SourceRef et RecordLinkKind. TASK (KamoCollab CP04 Tâche 8)

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise