BLUN King

BLUN King 9.1.621

Publié le

King n'adopte un résumé de ta conversation que lorsque le modèle a confirmé qu'il est terminé. Si cette confirmation manque, ton historique de conversation existant reste inchangé.

Si la transmission du résumé se termine de manière inattendue, ton contexte de conversation existant n'est pas remplacé par le résumé incomplet. Le changement ne concerne que le compactage de la conversation ; les réponses normales restent inchangées.

Restent ouvertes quelques erreurs isolées lors de l'enregistrement d'une session ; elles ne sont pas corrigées avec cette mise à jour.

BLUN King

BLUN King 9.1.620

Publié le

Sous Windows, la console se termine complètement à la fermeture de la fenêtre, afin qu'aucun message « déjà en cours d'exécution » n'apparaisse plus au prochain démarrage.

La mise à jour corrige la fin du processus de console lors de la fermeture de la fenêtre. Une console réellement encore en cours conserve l'accès exclusif à sa session.

Le guide est complété pour l'état 620 : installation sous Linux, reprise de longues sessions, dernière session au démarrage, Ctrl+L, Skills, plugins, objectifs et mandats sans interface. Vers le guide CLI actuel.

BLUN King

BLUN King 9.1.619

Publié le

Une seule erreur antérieure lors du compactage de la conversation ne bloque plus ta session : après un compactage réussi, King ne compte que les nouvelles erreurs directement consécutives. Si le compactage échoue deux fois de suite, le message indique désormais clairement « compactage en pause » au lieu d'annoncer un contexte complet.

Restent ouvertes quelques erreurs ponctuelles lors de l'enregistrement d'une session et lors de la création d'un résumé complet de la conversation ; elles ne sont pas corrigées avec cette mise à jour.

BLUN King

BLUN King 9.1.618

Publié le

Si un message Telegram arrive après la reprise de ta session alors que King est déjà en train de travailler, il reste dans la file d'attente et est remis ensuite. King n'affiche plus cette situation d'attente comme une erreur.

Sous Linux x64, le terminal utilise un binaire fourni. Il fonctionne ainsi même lorsque npm 12 bloque les scripts d'installation ; aucun compilateur n'est nécessaire pour cela. À cet effet, King utilise la version préliminaire épinglée node-pty 1.2.0-beta.15.

BLUN King

BLUN King 9.1.617

Publié le

Au rechargement de la même session, King n'ajoute plus plusieurs fois les instructions de plugins inchangées. Si les instructions changent, King continue de tenir compte de l'état actuel.

Les aperçus des grandes sorties d'outils tiennent désormais aussi compte de la fenêtre de contexte disponible. Tu peux toujours lire intégralement les sorties externalisées.

Avec /profile ou /profiles, tu ouvres la sélection de profil. King n'effectue le changement que lorsque ta session est prête. Un travail en cours et des messages en attente empêchent un changement prématuré ; ton profil précédent reste alors actif.

Lorsque tu arrêtes un travail en cours, King attend aussi les dernières étapes de nettoyage. Un travail qui n'est pas encore terminé n'est pas confirmé prématurément comme arrêté.

BLUN King

BLUN King 9.1.616

Publié le

Après une réponse Telegram confirmée, King prend en charge les autres messages qui te sont adressés à l'étape sûre suivante, même pendant un tour en cours.

Après une réponse Telegram confirmée, King prend en charge les autres messages qui te sont adressés à l'étape sûre suivante, même pendant un tour en cours. Une réponse déjà remise ne bloque plus la file d'attente. Les réponses restent associées à leur chat respectif.

Si tu interromps un tour, les messages Telegram qui n'ont pas encore été pris en charge sont conservés pour la prochaine remise. King n'en accuse réception que lorsque la session les prend effectivement en charge.

BLUN King

BLUN King 9.1.615

Publié le

King maintient de grands catalogues d'outils disponibles via la recherche d'outils et adapte le budget d'outils à la fenêtre de contexte du fournisseur.

King maintient de grands catalogues d'outils disponibles via la recherche d'outils, sans envoyer au modèle tous les schémas d'outils facultatifs. Si le fournisseur annonce une fenêtre de contexte plus petite, King adapte le budget d'outils ; les outils trouvés restent disponibles à l'étape suivante.

En cas de besoin, King externalise les grandes sorties d'outils plus tôt qu'avant. Tu peux récupérer la sortie complète comme avant, à condition qu'elle puisse être affichée en toute sécurité.

Les réponses Telegram normales et les modifications de messages ne sont plus retenues en raison d'une validation linguistique manquante. Une vérification des réponses que tu as configurée reste active.

BLUN King

BLUN King 9.1.614

Publié le

Les fichiers AGENTS.md et AGENTS.override.md trop volumineux n'interrompent plus un tour uniquement à cause de leur taille.

Hors de la console King, King lit au total jusqu'à 32 KiB dans les fichiers d'instructions et t'indique une fois par session le nombre d'octets omis.

Dans la console King, les fichiers restent complets tant que la limite de requête le permet.

Les liens symboliques et les chemins non sécurisés restent bloqués.

BLUN King

BLUN King 9.1.613

Publié le

King détecte les requêtes au modèle trop volumineuses avant même l'envoi.

Dans la console King, King lit au maximum 32 KiB dans chaque fichier AGENTS.md et AGENTS.override.md. Ce qui dépasse cette limite, King l'omet et t'indique combien d'octets ont été omis.

Avant l'envoi, King estime désormais la taille de l'ensemble de la requête au modèle, y compris instructions, historique, définitions d'outils et données d'image. Lorsqu'elle s'approche de la limite d'octets du serveur, un compactage progressif commence. Si une requête ne peut pas être divisée en toute sécurité, King s'interrompt sans écarter silencieusement l'historique enregistré.

King enregistre localement les appels d'outils terminés comme métadonnées : nom de l'outil, moment, statut et, pour les outils de fichiers, éventuellement le chemin. Les entrées, sorties, commandes et clés ne sont pas enregistrées. Avec /memory tools, tu peux rechercher dans les entrées de ton profil.

Le diagnostic de contexte affiche des chiffres supplémentaires sur la composition des requêtes. Une mesure de phases activable enregistre le temps jusqu'à l'appel du modèle sans journaliser de contenu.

L'indicateur d'utilisation reprend les jetons de réflexion signalés séparément, si le fournisseur les fournit.

Non diffusée, remplacée par 9.1.613

BLUN King 9.1.612

Publié le

9.1.612 n'a pas été publiée comme mise à jour client. La protection précoce par octets n'agissait pas sur une requête supérieure à 900 KB lorsque l'historique seul restait sous 600 KB. 9.1.613 remplace cette version.

BLUN King

BLUN King 9.1.611

Publié le

Les demandes de compactage volumineuses restent dans la limite d'octets du serveur.

  • King divise une demande de compactage trop volumineuse en étapes chronologiques selon la taille de la demande. Le compactage peut ainsi se poursuivre, même lorsque la demande contient plus d'octets que le serveur n'en accepte à la fois.
  • Si même un seul message ne tient pas sous la limite, ton historique enregistré reste inchangé. King ne le rejette pas pour forcer le compactage.

Cela ne prouve ni un temps d'attente du modèle plus court ni une consommation de jetons plus faible. Une mise à jour ne redémarre pas une session King déjà en cours.

BLUN King

BLUN King 9.1.610

Publié le

Tu peux de nouveau installer King sous Linux et démarrer des profils, et un deuxième démarrage de King sous Windows ne se solde plus par un message trompeur sur les ACL privées.

  • Linux figure de nouveau dans la liste des systèmes d'exploitation pris en charge du paquet npm. Si tu as une version plus ancienne sous Linux, tu installes 9.1.610 via le programme de mise à jour habituel.
  • Les démarrages explicites avec --profile et les abréviations existantes de noms de profils mènent au dossier du profil choisi. Un simple nom inconnu ne crée plus silencieusement un profil vide ; tu crées un nouveau profil délibérément avec --profile.
  • Si un profil existant n'a pas sa propre connexion, King propose /login au lieu d'échouer sur une configuration de modèle blun/king manquante.
  • Sous Windows, le contrôle des dossiers privés réussit même lorsque le bridge Telegram tient un dossier de plugins ouvert. TEMP et TMP sont transmis à l'assistant ACL, et en cas d'erreur de dossier, King indique le chemin concerné et la cause réelle.
  • Si un King interactif est déjà en cours, King le détecte avant le durcissement des ACL privées et signale son PID, au lieu de présenter un deuxième démarrage comme une erreur des ACL privées.

Dans 9.1.610, un profil vide ne reprend pas les données de connexion du répertoire personnel partagé. L'invite /login actuelle peut encore afficher « OAuth login expired », même si ce profil ne s'est jamais connecté.

Le chemin de mise à jour Linux de 9.1.114 vers 9.1.610 a été parcouru après la publication. Le chemin de mise à jour Windows de 9.1.609 vers 9.1.610 n'est pas mesuré.

Une mise à jour ne redémarre pas une session King déjà en cours.

BLUN King

BLUN King 9.1.609

Publié le

Ouvre la sélection d'effort avec Ctrl+L tout en conservant ton brouillon d'éditeur.

  • Ctrl+L ouvre la sélection d'effort existante sans perdre ton brouillon d'éditeur. Les réglages d'effort et les limites de modèle existants sont réutilisés, au lieu de créer un second chemin de configuration.
  • La règle existante pour les sessions en cours reste : une modification d'effort pendant un travail actif est refusée, et non mise en attente pour plus tard. Pendant la lecture ou une reprise d'éditeur, le raccourci clavier est ignoré.

Ces modifications ne prouvent ni des temps de réponse plus rapides en exploitation ni une consommation de jetons facturés plus faible et n'établissent pas une parité complète avec OpenClaw.

BLUN King

BLUN King 9.1.608

Publié le

Dans les groupes Telegram, seuls les messages qui mentionnent King lui parviennent. Tes sélections multiples et l'annulation progressive des questions sont conservées.

  • Dans les groupes Telegram, les messages qui ne s'adressent pas à King n'entrent dans le contexte de session qu'après le contrôle de mention. Si tu as explicitement désactivé ce contrôle, ce réglage est conservé.
  • Tes sélections multiples et l'annulation progressive des questions sont conservées. Le pied de page cible utilise un minuteur d'actualisation commun.
  • La charge du transfert d'ACL Windows diminue, sans affaiblir le contrôle des autorisations. La récupération après des erreurs temporaires lors du remplacement de la configuration est limitée ; la propriété de l'écriture est conservée.
  • Avant la nouvelle tentative, King vérifie qu'un marqueur d'écriture Windows supprimé en parallèle a réellement disparu. Les marqueurs existants illisibles continuent de provoquer l'abandon.

Ces modifications ne prouvent ni des temps de réponse plus rapides en exploitation ni une consommation de jetons facturés plus faible et n'établissent pas une parité complète avec OpenClaw.

BLUN King

BLUN King 9.1.607

Publié le

Ta dernière session choisie revient, les écritures échouées sont signalées honnêtement et chaque tentative HTTP reçoit un horodatage de début.

  • La restauration optionnelle de la dernière session choisie s'active avec resume_last_selected dans tui.toml. La sélection s'applique au compte confirmé, à l'environnement d'exécution, à l'agent et à l'espace de travail. Le démarrage normal reste inchangé, les choix de session explicites ont priorité ; les sélections indisponibles retombent sur une nouvelle session, pas sur une autre.
  • Après une activation échouée, la sélection précédente est conservée. Aucune sélection n'est enregistrée sous un compte qui a changé pendant l'activation.
  • Les écritures de fichiers échouées ne sont pas marquées comme réussies. Le protocole de continuation existant pour les lignes complètes lors d'écritures au-delà de 2 048 octets UTF-8 est expliqué, sans relever la limite ni réessayer automatiquement.
  • Immédiatement avant chaque tentative HTTP, un horodatage de début basé sur l'horloge système est enregistré pour la corrélation de diagnostic. Les contenus de requête et les identifiants n'entrent pas dans le diagnostic.
  • Les caractères Unicode hors du plan de base (par exemple les emojis) restent entièrement conservés aux limites existantes du budget de stockage, sans augmenter ces budgets ni créer un stockage supplémentaire.

Ces modifications ne prouvent ni des temps de réponse plus rapides en exploitation ni une consommation de jetons facturés plus faible, n'établissent pas une parité complète avec la passerelle et n'excluent pas du contexte les messages Telegram non adressés.

BLUN King

BLUN King 9.1.606

Publié le

À la reprise d'une session, les pages de transcription actuelles apparaissent d'abord ; les pages plus anciennes sont chargées par la navigation de transcription existante.

  • À la reprise d'une session interactive, les pages de transcription actuelles apparaissent d'abord ; les pages plus anciennes sont chargées par la navigation de transcription existante. L'historique enregistré complet et le contexte de modèle actif sont conservés.
  • Au démarrage, un objectif d'affichage de 200 enregistrements de lecture s'applique. --history-limit, de 1 à 2000, permet de régler l'affichage des premières pages et des pages plus anciennes ; les tours de conversation complets et les paires d'outils peuvent dépasser l'objectif.
  • Le premier affichage des activations de skills et de plugins est conservé au-delà des limites de pages. La position de défilement d'accueil est corrigée, afin que le chargement de pages plus anciennes ne laisse pas d'écran vide.

Ces modifications réduisent le travail de rendu initial de la transcription. Elles ne prouvent ni des temps de réponse du modèle plus rapides, ni une consommation de jetons plus faible, ni des factures réduites, n'améliorent pas la mise en cache du fournisseur et ne limitent pas la quantité lue depuis le disque au démarrage.

BLUN King

BLUN King 9.1.605

Publié le

Vérifie les sources de contexte, pilote les tâches en cours et transmet un premier message au démarrage de la console. Le traitement de l'historique local et les vérifications de compactage ont été étendus.

  • Les historiques de session locaux sont restitués sous forme regroupée. Les pages d'affichage archivées peuvent être retrouvées sans parcourir tous les blocs précédents. L'historique intégralement enregistré, les contrôles d'intégrité des archives et la restauration existante sont conservés.
  • Les résultats d'outils répétés sont préparés de manière identique pour le contexte du modèle entre les compactages journalisés. Les sorties locales complètes et les droits de lecture existants sont conservés. Les sorties ne sont pas externalisées si elles n'étaient pas récupérables via le chemin de restauration promis.
  • Le compactage automatique final ne remplace le contexte actif que s'il réduit l'historique selon la même méthode d'estimation. En cas de refus, l'historique d'origine est conservé. Le déclencheur optionnel max_request_history_bytes utilise le pilotage de compactage existant, est désactivé par défaut et ne limite pas l'ensemble du corps de requête envoyé au fournisseur.
  • Le diagnostic du contexte gagne des vues séparées et une attribution des sources pour les instructions, la mémoire, les skills et les messages antérieurs. Les octets du contenu sérialisé, les estimations locales de jetons et la consommation signalée restent séparés.
  • L'attribution de la session est préservée en cas de tâches en attente, d'événements tardifs, de demandes de précision et de changements de configuration. Un second accès en écriture actif sur la même session est refusé, au lieu d'autoriser des modifications simultanées du journal.
  • La ligne supplémentaire agent/session du pied de page disparaît. Les sessions restent pilotables et diagnostiquables de manière ciblée. L'interface King existante, les modèles gérés et les limites d'autorisation sont conservés.
  • --message transmet un premier message pour le démarrage interactif. Il est traité après l'approbation au démarrage et la sélection de la session, via le contrôle des messages et la file d'attente habituels. Son contenu n'est pas interprété comme une commande slash ou shell.
  • Le contrat d'interface du service Guard fourni reste inchangé. Cette version ne prouve ni des réponses plus rapides en exploitation, ni des factures fournisseur plus faibles, ni une équivalence fonctionnelle complète avec OpenClaw, ni une quantité de lecture limitée lors du premier chargement du journal de session.

/abort interrompt la tâche en cours sans abandonner les saisies en attente. /stop abandonne en outre les saisies en attente. /exit quitte toujours la console. Ce sont des commandes locales de la console, pas des commandes Telegram à distance supplémentaires.

Vérifications sur l'état du paquet 9.1.605 : 238 fichiers de vérification avec 6 900 tests, ainsi que 40 vérifications de staging, dont 25 vérifications natives de terminal. Le test d'une mise à jour isolée de 9.1.604 via le tag candidat publié avec le vrai programme d'installation a réussi. Cela ne prouve ni des temps de préchauffage plus courts dans une session en cours, ni une équivalence fonctionnelle complète avec OpenClaw.

BLUN King

BLUN King 9.1.604

Publié le

Vérifie la taille des requêtes et les sources de contexte, charge les outils à la demande et pilote les messages entrants au sein de la session concernée.

  • /context doctor et /tokens distinguent le nombre d'octets de la requête sérialisée des nombres de jetons estimés et affichent les parts relevées des règles, de la mémoire, des skills et des définitions d'outils.
  • Les catalogues d'outils de taille moyenne sont chargés à la demande via la recherche existante ; les outils restent trouvables et exécutables.
  • /queue pilote les messages au sein de la session concernée. Les messages ordinaires en file d'attente n'interrompent plus le travail automatiquement après 30 secondes.
  • À la sélection de session, les identifiants ou titres exacts ainsi que les préfixes d'identifiant non ambigus sont possibles ; le pied de page affiche l'agent et la session associés.
  • Chaque tentative HTTP reçoit un nouvel identifiant de requête, sauf si l'appelant en fournit un. Le diagnostic ne modifie pas la facturation.
  • Les versions fournies d'AgentSpine et de Translate Native restent inchangées. Des coûts réduits et des réponses plus rapides en exploitation ne sont pas prouvés.
  • /question : rouvre les questions en attente. Replier une question n'y répond pas et ne la rejette pas.

Les octets de requête, les nombres de jetons estimés, la consommation de session cumulée et les jetons facturés sont des grandeurs différentes. L'affichage de la consommation tient aussi compte de la vérification des réponses. /usage cost avec les coûts journaliers ou mensuels ne fait pas partie de cette version. Des coûts réduits ou des réponses plus rapides en exploitation ne sont pas prouvés.

BLUN King

BLUN King 9.1.603

Publié le

Choisis ton dossier de travail dans une boîte de dialogue Windows. Si la console est démarrée depuis System32, elle te propose désormais ton dossier utilisateur.

  • Si tu choisis un autre dossier de travail sous Windows, une boîte de dialogue de dossier s'ouvre. Tu peux toujours saisir le chemin à la main. Si tu annules la boîte de dialogue, tu reviens à la sélection du dossier sans en retenir aucun.
  • Si aucune boîte de dialogue de dossier n'est disponible, la console demande le chemin. Sur les autres systèmes d'exploitation, la saisie du chemin reste la règle.
  • Si, au démarrage, un dossier situé dans le répertoire Windows est repris ou enregistré, la sélection de dossier te propose ton dossier utilisateur. Les chemins saisis à la main continuent d'être vérifiés comme avant.

Les versions d'AgentSpine et de Language Guard restent inchangées par rapport à 9.1.602. Cette mise à jour ne démontre aucun gain de vitesse pour les sessions en cours.

Sous Windows, Git Bash reste nécessaire. Si la console signale que Git Bash manque, installe Git for Windows. Rouvre ensuite l'invite de commandes avant de relancer king.

BLUN King · Publié

BLUN King 9.1.602

Publié le

Un dossier privé dédié pour les sorties d'outils plus anciennes lorsque des droits Windows hérités empêchent l'externalisation.

  • Les anciennes sorties d'outils éligibles sont déposées dans un dossier privé dédié lorsque des droits Windows hérités empêchent l'externalisation. Les fichiers existants, les droits et l'historique complet de session restent inchangés.
  • Les contrôles d'intégrité, les droits de lecture et le recours au contexte complet restent assurés si une sortie archivée ne peut pas être restaurée. AgentSpine 0.73.0 et Language Guard 6.20.0 restent inchangés par rapport à 9.1.601.

Des temps de réponse plus courts en exploitation ou une consommation de jetons facturés plus faible ne sont pas encore prouvés.

BLUN King · Publié

BLUN King 9.1.601

Publié le

Les saisies restent dans la file d'attente, les sorties d'outils plus anciennes reçoivent des références vérifiées et les vérifications de réponses soumises à une limitation de débit sont répétées de manière bornée.

  • Lorsque le travail en arrière-plan passe en premier, les saisies du terminal restent dans la file d'attente dans leur ordre d'origine. Chaque saisie n'est affichée qu'une seule fois.
  • Les anciennes sorties d'outils éligibles sont remplacées dans les requêtes du modèle par des références vérifiées vers des fichiers privés. L'historique complet et les résultats de l'étape de conversation en cours sont conservés. Si le rechargement est impossible, non autorisé ou si le contenu a été modifié, la sortie complète est envoyée.
  • Une vérification de réponse native soumise à une limitation de débit est répétée une fois avec le même brouillon de réponse. Le délai d'attente enregistré du fournisseur s'applique. Les appels d'outils déjà terminés ne sont pas répétés et les textes non vérifiés ne sont pas publiés.
  • Jusqu'à 2 048 jetons de sortie restent libres comme marge pour les écarts dans l'estimation des entrées. La fenêtre de contexte n'est pas réduite ; les limites de sortie plus petites explicitement définies restent inchangées.

Ces modifications ne prouvent ni une consommation de jetons facturés plus faible, ni des temps de réponse plus courts en exploitation. Elles ne corrigent pas non plus toutes les erreurs HTTP-502 côté serveur.

BLUN King · Publié

BLUN King 9.1.600

Publié le

Vérification des réponses avec des limites de temps fixes et des états de composants définis.

BLUN King 9.1.600 est publié. npm et le manifeste de mise à jour public concordent. La publication ne prouve ni une installation sur ton ordinateur, ni une validation en exploitation.

Vérification des réponses limitée

  • Les vérificateurs généraux conservent le délai habituel de 30 secondes. La vérification linguistique native dispose de 90 secondes maximum pour le premier texte substantiel à partir du signal de démarrage du composant hôte de confiance, une fois par tentative externe de vérification.
  • Un texte substantiel dans la longueur de sortie autorisée ainsi que les transitions ordonnées vers la publication et vers le contrôle des preuves remettent chacun le délai d'attente à 30 secondes.
  • Pour chaque tentative externe de vérification, une limite globale de 120 secondes s'applique indépendamment. La progression ne peut pas prolonger cette limite. Le nombre maximal de deux tentatives de vérification externes reste en vigueur.
  • Avant l'acceptation d'une publication, le temps réellement écoulé est de nouveau vérifié. Même avec des appels de minuteur retardés, une tentative de vérification expirée reste bloquée ; une progression tardive ne peut pas renouveler un délai expiré.

Les signaux d'interruption continuent d'être respectés. La liaison au texte de réponse exact, la validité temporelle du justificatif de publication et l'autorisation continuent d'être vérifiées.

Composants fournis

La version 9.1.600 contient AgentSpine 0.73.0 et Translate Native 6.155.0. Le protocole Guard reste à la version 6.20.0.

Limitations connues

Les nouvelles limites de temps ne prouvent aucune correction générale des erreurs HTTP-502 en exploitation. Les observations ouvertes de 9.1.599 restent ouvertes sans preuve d'exploitation distincte.

Contexte et aide

Un prompt à conserver intégralement n'est plus tronqué silencieusement juste pour tenir dans une fenêtre de modèle stricte plus petite. Lors d'une nouvelle répartition explicitement définie des messages utilisateur à conserver, avec le budget standard de 20 000 jetons, l'ajustement peut être achevé au sein du même compactage. Les préfixes ultérieurs ou restaurés ne doivent pas entraîner l'abandon d'exigences supplémentaires. La requête doit toujours tenir dans la fenêtre de modèle stricte.

Les simples appels d'aide avec --help ou -h ne génèrent plus d'état de diagnostic d'exécution. Si les arguments de prompt et d'aide sont combinés, le comportement d'exécution existant reste en vigueur.

BLUN King · 18 septembre 2026

BLUN King 9.1.599

Publié le

Des approbations individuelles traçables pour la mémoire personnelle et des corrections supplémentaires en cas de dépassements de contexte.

Les demandes d'approbation pour la mémoire personnelle affichent des titres d'action compréhensibles dans la langue choisie et des aperçus complets des modifications de réglages réelles ou du texte à enregistrer. Les caractères de contrôle sont masqués de manière visible ; le contenu d'origine reste inchangé.

Les modifications de mémoire valides doivent être approuvées individuellement ; les saisies invalides ne peuvent qu'être rejetées. Une approbation de session ne valide pas automatiquement les demandes en attente qui nécessitent une approbation individuelle.

Le contrôle du paquet couvre 37 domaines fonctionnels avec 199 contrôles obligatoires, 158 exécutions de contrôles et 4 905 tests distincts réussis. Les mises à jour de 9.1.597 et de la version intermédiaire locale 9.1.598 vers 9.1.599 ont en outre été vérifiées dans des installations isolées avec le programme de mise à jour et le chemin d'installation inchangés. Les deux tests ont reconnu la version via les sources de mise à jour publiques et ont vérifié les 918 fichiers de l'archive de la version.

Les indications dans README.md et CHANGELOG.md du paquet 9.1.599 inchangé décrivent l'état candidat au moment de l'empaquetage. Elles n'ont pas été modifiées rétroactivement après l'installation locale. Cette page publique documente séparément l'état de publication et les limitations observées ultérieurement.

Limitations connues dans 9.1.599

En exploitation, des réponses HTTP-502 répétées ont continué d'être observées, parfois suivies de requêtes réussies. Les corrections de contexte ne sont pas une solution générale aux erreurs de fournisseur ou de réseau.

La vérification linguistique peut interrompre une réponse avec missing-language-character-profile ou suspected-ascii-substitution. Ce constat reste ouvert ; 9.1.599 ne contient aucune correction avérée pour cela.

Une réponse à l'image envoyée a été confirmée par l'utilisateur. Un contrôle indépendant de l'interprétation de l'image ainsi que la validation visuelle de la saisie et des lignes d'état restent à faire. Les contrôles de paquet réussis ne sont pas une levée générale d'alerte pour ces processus.

Repris de la version intermédiaire locale 9.1.598

Sans date

9.1.598 a été vérifiée et installée localement, mais pas publiée comme mise à jour npm distincte. Les modifications suivantes sont incluses dans 9.1.599 :

  • En cas de refus de contexte, les limites inférieures du nombre de jetons d'entrée sont distinguées des indications exactes. Pour une limite inférieure signalée, la limite de sortie est réduite une fois, sans abandonner de messages ni d'outils. Les signaux d'interruption et la limitation des tentatives supplémentaires restent effectifs. L'erreur de calcul de la limite de sortie reproduite dans 9.1.597 est ainsi corrigée de manière ciblée.
  • Les 150 mots d'activité alternants d'origine sont de nouveau inclus. Aucune requête de modèle supplémentaire n'est nécessaire pour leur affichage.
  • Pour le hook d'entrée de confiance d'AgentSpine, une référence média compacte avec le type, la somme de contrôle SHA-256 et l'indication de taille est transmise au lieu des données média complètes. Les pièces jointes complètes pour le modèle et les contrôles de protection existants sont conservés. Cela ne prouve à lui seul aucune interprétation d'image réussie en exploitation.

Nouveautés de la 9.1.597

Publié le

Restauration limitée en cas de dépassements de contexte explicitement signalés, y compris derrière une réponse d'erreur de passerelle.

Lorsqu'une requête est rejetée avant le début de la sortie en raison d'un dépassement de contexte attesté, King peut entreprendre une nouvelle tentative limitée avec une limite de sortie plus petite. Les erreurs de ce type encapsulées dans une réponse 502 sont également reconnues. Les messages, les outils, les limites de sortie plus petites explicitement choisies et les signaux d'interruption sont conservés. Un flux déjà commencé n'est pas rejoué.

Cela ne corrige pas toutes les erreurs de fournisseur ou de réseau. Les déconnexions générales et les pannes de service doivent continuer d'être vérifiées à partir de leurs propres données d'erreur.

Limitation connue dans 9.1.597 : si le serveur ne signale qu'une limite inférieure pour le nombre de jetons d'entrée, la nouvelle tentative peut échouer à nouveau et déclencher des compactages inutiles. Ce cas a été reproduit le 17 septembre 2026 après la publication. La correction supplémentaire issue de la version intermédiaire locale 9.1.598 est incluse dans 9.1.599.

36 domaines fonctionnels ont été contrôlés avec 183 contrôles obligatoires et 4 407 tests distincts réussis, ainsi que la mise à jour réelle de 9.1.596 vers 9.1.597. Ce contrôle de paquet ne remplace pas un test d'application d'une session client déjà ouverte.

Nouveautés de la 9.1.596

Publié le

Les interruptions automatiques en faveur des messages Telegram en attente sont distinguées des véritables interruptions manuelles. Une telle interruption de file d'attente n'est plus signalée à tort comme l'actionnement de la touche Escape. Le délai d'attente, les règles de protection pour les outils en cours et le comportement en cas de véritable interruption manuelle sont conservés.

Nouveautés de la 9.1.595

Publié le

Les schémas d'outils optionnels sont chargés à la demande via ToolSearch et conservés de façon limitée. Les grands catalogues de skills sont fournis de façon compacte et par pages. La recherche, les extensions MCP ultérieures et les vérifications d'autorisation normales sont conservées.

Pour les salutations brèves, King peut utiliser un extrait limité du dialogue récent, sans supprimer de messages sauvegardés ni raccourcir les instructions système. Pour une demande de travail qui suit, King tient à nouveau compte de l'historique de travail conservé. Le calcul du contexte reste préservé même après la reprise d'une session. Aucune consommation fixe de jetons pour chaque salutation n'est promise.

Nouveautés de 9.1.594

Publié le

  • Les réponses privées sur Telegram restent possibles pendant que les messages de groupe attendent. L'attribution des commandes slash est conservée.
  • Les longues attentes issues de Retry-After sont respectées ; lors de la reprise d'une session, la pause restante est restaurée.
  • Après une description d'accompagnement rejetée, une étape d'outil déjà achevée continue d'être traitée. La description rejetée n'est pas publiée, la vérification de la réponse finale n'est pas affaiblie.
  • Les fonctions de restauration limitées pour l'écriture en plusieurs parties sont de nouveau disponibles. Cela vaut aussi pour les limites de temps du shell, le contrôle des tâches et la reprise de session.
  • La saisie, les lignes de quota, l'indicateur d'activité, les tâches dépliables et les sorties d'outils avec attribution de source restent visibles pendant le streaming et la navigation dans l'historique.
  • Avant l'empaquetage, des preuves de non-régression complètes de la console sont requises ; les métadonnées de mise à jour publiques sont vérifiées quant à leur concordance.

Versions intermédiaires 9.1.590 à 9.1.593

Ces versions sont présentes dans l'historique de publication local, mais ne figurent pas dans le registre public des versions npm au 17 septembre 2026. Elles ne sont pas recommandées ici comme mises à jour publiquement disponibles. Les travaux sur le démarrage, la reprise, les autorisations, l'indicateur d'activité et la saisie visible sont pris en compte dans les attestations de 9.1.594.

Nouveautés de 9.1.589

Publié le

  • Les sources vérifiées d'AgentSpine et de Translate Native ainsi que des manifestes de mise à jour vérifiés sont fournis.
  • Au chargement du contexte d'agent, le profil King actif est conservé.
  • Les outils nécessaires à la vérification des réponses restent disponibles. La consommation lors de la génération de la réponse est comptabilisée même si la vérification rejette la réponse.
  • Dans la liaison de canal gérée, les messages de groupe ne sont attribués qu'en cas de mention explicite.
  • La console affiche le compactage en cours et les seuils effectifs.
  • Le budget de travail pour le compactage précoce et la réserve de sécurité à la limite de requête sont conservés d'une mise à jour à l'autre.
  • La boîte de dialogue de mise à jour au démarrage, la progression et les indications sur les mises à jour programmées utilisent systématiquement la langue sélectionnée.
  • Les identifiants d'intégration techniques et les licences sont conservés ; les messages d'erreur d'exécution visibles sont formulés de façon neutre.
  • L'installation ne redémarre pas les sessions existantes. Une session en cours charge le nouveau code au prochain démarrage.

9.1.588 : retirée

Publié le

Cette version a été publiée le 11 septembre 2026 puis marquée comme retirée dans npm. Le registre cite une vérification de compatibilité du manifeste de mise à jour ayant échoué. Utilise la version stable actuelle, pas ce paquet retiré.

Nouveautés de 9.1.587

Publié le

Des catalogues d'outils plus stables, un compactage automatique plus précoce et une nouvelle tentative ciblée après des annulations dues à de trop longues phases de réflexion pure.

En cas d'instructions mises en mémoire tampon dans un tour de travail en cours, le catalogue d'outils actif est conservé également à l'étape de travail suivante. Les outils nécessaires restent disponibles. Si le budget de schéma existant est dépassé, les définitions d'outils optionnelles conservées sont re-sélectionnées.

Le compactage automatique du contexte se déclenche de nouveau plus tôt. Après un compactage réussi qui réduit l'historique, King peut l'exécuter à nouveau dans le même tour. Les limites de modèle plus basses et la limitation des tentatives échouées restent effectives.

Après une annulation due à une phase de réflexion pure trop longue, King utilise la tentative unique existante avec réflexion désactivée, afin que le modèle puisse répondre ou appeler un outil. Les étapes régulières suivantes conservent le réglage de réflexion choisi ; l'annulation, les vérifications d'approbation et les limites de temps restent effectives.

Avec BLUN_STABLE_STEER_TOOLS=0 ou BLUN_EARLY_COMPACTION=0 avant le démarrage de King, il est possible de restaurer le comportement antérieur pour la fonction concernée. La mise à jour ne réécrit aucune session ni fichier de configuration existant.

Nouveautés de 9.1.586

Publié le

La réception Telegram redémarre sous Windows lorsque l'ancien identifiant de processus du bridge appartient désormais à un autre processus. En cas d'attribution incertaine du processus, King n'intervient pas ; le processus tiers n'est pas arrêté.

Le compactage du contexte, les réglages du modèle, l'historique de conversation et le comportement de remise antérieur de Telegram restent inchangés.

Nouveautés de 9.1.585

Publié le

BLUN King · 8 septembre 2026

La version 9.1.585 vérifie la structure et chaque résultat des réponses WebSearch gérées, même lorsque les indications facultatives sur l'état de recherche sont absentes.

Une réponse sans liste de résultats valide n'est plus présentée comme une recherche réussie sans résultats. Chaque résultat doit avoir un titre ni vide ni composé uniquement d'espaces, un extrait de texte sous forme de chaîne et une adresse HTTP ou HTTPS absolue sans identifiants intégrés. Des résultats invalides font rejeter toute la réponse avant que des résultats ou des indications sur des résultats de recherche incomplets soient renvoyés.

Les réponses valides au format antérieur sans indications d'état restent prises en charge, de même que les listes de résultats vides et les chaînes vides comme extraits de texte. Pour les réponses valides, l'ordre, les chaînes d'URL exactes, les indications facultatives de date et de site, les attributions de source dans la sortie et le traitement des résultats incomplets restent inchangés.

Seule la liaison de recherche gérée est modifiée. Le comportement d'annulation, l'authentification des requêtes, FetchURL et Telegram restent inchangés. La vérification du format ne prouve pas qu'une source est correcte ou à jour. Cette version n'introduit ni limite de taille pour les réponses ni nouveau délai.

Nouveautés de 9.1.584

Publié le

La version 9.1.584 transmet le signal d'annulation de l'appelant à travers WebSearch jusqu'à la requête de recherche HTTP gérée, y compris lors de la lecture du contenu de la réponse.

Les recherches déjà annulées ne déclenchent aucun traitement chez le fournisseur. Si l'annulation survient pendant l'obtention des identifiants, aucune requête de recherche n'est ensuite envoyée. Les résultats qui arrivent après l'annulation ne sont pas renvoyés comme une recherche réussie.

Les vérifications d'annulation couvrent aussi les réponses JSON réussies, le contenu des réponses d'erreur et les indications de résultats de recherche incomplets. Le traitement des résultats complets, incomplets et vides, les attributions de source et la procédure de repli habituelle pour l'authentification restent inchangés.

Cette version n'introduit aucun nouveau délai et ne modifie pas l'attribution Telegram. Les opérations partagées de renouvellement des identifiants OAuth et les implémentations de transport qui ignorent les signaux d'annulation ne sont pas interrompues de force. L'annulation d'une requête client ne prouve pas que le travail sur le serveur distant ou sa facturation sont terminés.

Nouveautés de 9.1.583

Publié le

Une annulation lors de la récupération de page est désormais transmise jusqu'à la requête HTTP.

FetchURL transmet le signal d'annulation de l'appelant à travers l'outil et les deux services de récupération. Une requête annulée avant son démarrage n'est pas envoyée. Si l'annulation survient pendant l'obtention des identifiants, la requête HTTP gérée n'est ensuite plus démarrée.

Après l'annulation d'une récupération gérée, aucune récupération de remplacement locale n'est plus démarrée. Un résultat tardif du service de récupération est écarté et n'est pas utilisé comme preuve de source. Pour les erreurs HTTP et réseau ordinaires, la récupération de remplacement locale antérieure reste possible.

Aucune nouvelle limite de temps n'est introduite. Un renouvellement partagé des identifiants et le traitement HTML synchrone ne sont pas interrompus de force. La limite de taille de 9.1.582 reste en vigueur ; le routage Telegram et les requêtes au modèle restent inchangés.

Nouveautés de 9.1.582

Publié le

La récupération de page locale vérifie la taille de la réponse dès la lecture et s'interrompt en cas de dépassement de la limite.

La récupération locale compte les octets de réponse entrants avant le décodage de chaque bloc de données et interrompt le flux de données dès que la limite de taille est dépassée. Si l'indication Content-Length manque ou est fausse, la réponse entière n'est plus d'abord lue puis rejetée.

La limite prédéfinie reste à 10 Mio et s'applique au flux de réponse après la décompression HTTP. Les caractères UTF-8 répartis sur plusieurs blocs de données sont conservés. Les tampons de transport et le bloc de données avec lequel la limite est dépassée peuvent déjà se trouver en mémoire ; cela ne garantit aucun plafond exact pour la mémoire totale du processus.

La modification porte sur le chemin de récupération local, y compris lorsqu'il sert de solution de repli. Les corrections de recherche de 9.1.581 restent incluses. Le routage Telegram et l'attente du modèle restent inchangés.

Nouveautés de 9.1.581

Publié le

Lors de la récupération de page locale, les extraits HTML vides ne sont plus présentés comme des sources réussies.

Si aucun contenu de page ne subsiste après le nettoyage et la conversion, le titre du document seul ne suffit plus pour une récupération réussie. L'erreur d'extraction déjà existante est renvoyée à la place.

Les contenus courts réels et les titres visibles sont conservés. Les réponses au format texte brut ou Markdown restent inchangées. La correction concerne l'extraction HTML locale, pas le service de récupération géré.

Les corrections de recherche de 9.1.580 et les corrections Telegram antérieures restent incluses sans modification. Cette mise à jour ne modifie ni l'attente du modèle ni l'attribution des messages entrants à leurs destinataires.

Nouveautés de 9.1.580

Publié le

Le dépôt de recherche rejette les dates historiques invalides attribuées aux sources.

Un nouveau rapport n'est pas enregistré si une date attribuée à une source contient un jour calendaire invalide ou une composante horaire non analysable. Les dates manquantes restent autorisées.

Lors de la récupération de preuves de recherche enregistrées, les preuves plus anciennes avec des dates invalides attribuées aux sources sont sautées et signalées avec une indication de diagnostic. Les fichiers ne sont ni réécrits ni supprimés. Les preuves valides distinctes restent consultables ; les dates valides conservent leur décalage de fuseau horaire et leur précision.

Le tri des preuves de recherche de 9.1.579 et les corrections Telegram antérieures restent inclus sans modification. Cette mise à jour ne modifie ni l'attente du modèle ni l'attribution des messages entrants à leurs destinataires.

Nouveautés de 9.1.579

Publié le

À pertinence égale, les preuves de recherche enregistrées sont triées selon leur moment réel de récupération.

Les heures avec et sans millisecondes sont comparées comme instants UTC, pas comme texte. La pertinence garde la priorité ; à instants identiques, l'ordre antérieur est conservé.

Si le même passage de texte a été relevé plusieurs fois, le résultat conserve les indications d'origine de la récupération la plus récente. Les preuves déjà enregistrées restent inchangées et ne comptent donc pas comme sources nouvellement vérifiées.

La correction pour les réponses Telegram de 9.1.578 reste incluse sans modification. Il en va de même pour la limitation des nouvelles tentatives lorsque le modèle ne fait que réfléchir sans fournir de réponse ni d'appel d'outil. Cette mise à jour ne modifie ni l'attente du modèle ni l'attribution sémantique des messages entrants.

Nouveautés de 9.1.578

Publié le

De nouvelles tentatives limitées lorsque le modèle ne fait que réfléchir et atteint la limite de temps, ainsi qu'une correction ciblée pour les brèves réponses Telegram de groupe en rapport avec une question.

Si le modèle atteint la limite de temps alors qu'il ne fait que réfléchir, King autorise une nouvelle tentative supplémentaire par étape. Un second dépassement de ce type met fin à l'étape. L'effort de réflexion choisi et la limite de temps antérieure restent inchangés. Cette limitation ne raccourcit pas l'attente de la première sortie du modèle.

Les brèves réponses concernant la présence de l'agent dans les groupes Telegram peuvent désormais être envoyées lorsque reply_to les relie à une entrée du même chat vieille d'au plus 30 minutes. Cette entrée doit s'adresser explicitement à l'agent ou correspondre à une question prise en charge en allemand ou en anglais sur sa présence, commençant par son nom configuré. Les messages de présence non sollicités et les explications selon lesquelles il n'y a rien à signaler restent filtrés. L'envoi de remplacement automatique dans les groupes reste désactivé.

Les journaux des réponses envoyées et masquées contiennent désormais reply_to. En cas de contexte manquant ou ambigu, l'exception ne s'applique pas. Cette mise à jour n'ajoute aucune reconnaissance générale des destinataires et n'empêche pas les appels de modèle inutiles dus à l'adressage sémantique antérieur.

La correction s'applique à deux versions exactement identifiées de l'expéditeur MCP Telegram géré et intervient aussi lors de la fusion finale de la configuration du plugin. L'expéditeur plus ancien utilise une copie de compatibilité aux modifications étroitement limitées. Les bridges d'entrée, les réglages d'accès, les profils et les registres de plugins ne sont pas réécrits. Les expéditeurs inconnus ou modifiés ainsi que les remplacements explicitement définis sont conservés. King doit être redémarré après la mise à jour pour que la correction soit chargée.

Nouveautés de 9.1.577

Publié le

Plus de messages de fin automatiques dans les groupes Telegram. Les réponses utiles y sont envoyées de façon ciblée via l'outil de réponse Telegram.

Le noyau CLI et le bridge Telegram autonome ne transmettent plus automatiquement le texte de fin normal d'un agent aux groupes. Des indications comme « Rien à signaler » ne parviennent ainsi plus au groupe par cet envoi de remplacement automatique.

Les réponses dans les conversations privées, les outils de réponse explicitement utilisés, les résultats cibles requis, les messages de commande et de statut ainsi que l'envoi de médias sont conservés. Les instructions de prompt pour les entrées normales, les messages de pilotage pendant une opération en cours et les messages de groupe du bridge autonome contiennent désormais la même règle d'envoi.

Cela ne garantit pas qu'un modèle n'enverra jamais de réponse inutile par appel d'outil. Le correctif n'empêche pas non plus que des messages de groupe sans rapport avec l'agent concerné atteignent le modèle. Les règles de mention, les réglages d'accès et la résolution des plugins gérés restent inchangés ; aucune mise à jour d'AgentSpine ni du contrôleur de langue n'est incluse.

Le noyau actualisé doit être chargé par un nouveau processus. Les sessions en cours ne sont pas redémarrées automatiquement. Les profils existants et l'historique de session sont conservés.

Nouveautés de 9.1.576

Publié le

BLUN King 9.1.576 distingue C++ et C# dans les requêtes de recherche locales et contient les corrections publiées précédemment pour les mises à jour, la reprise des sessions et Telegram.

La recherche dans les preuves de recherche locales traite C++ et C# isolés comme des termes distincts, y compris en cas de casse différente et avec la ponctuation environnante. Les passages de texte enregistrés, les hachages, les protections de sources, la normalisation Unicode, les limites de collection et les limites de sortie restent inchangés. Aucune réindexation n'est nécessaire.

Un test défini avec 20 requêtes de recherche techniques et des tests de régression ciblés pour les limites de jetons vérifient cette correction. Elle concerne la recherche locale et n'est pas une déclaration sur la qualité ou la capacité de WebSearch en exploitation. Toutes les modifications de 9.1.575 restent incluses.

Nouveautés de 9.1.575

Publié le

Le crawleur web groupé rejette les réponses avec cf-mitigated: challenge avant de lire les contenus, de suivre les redirections ou de considérer un fichier robots manquant comme une permission de continuer. Pour les noms d'en-têtes, il ne tient pas compte de la casse ; il vérifie aussi les valeurs normalisées et les en-têtes à occurrences multiples. Le statut de la réponse est conservé dans le rapport d'erreur.

Les fichiers robots manquants sans cette marque et les pages de documentation ordinaires continuent de suivre l'exécution existante. Les pages déjà terminées restent disponibles lorsqu'une page ultérieure est rejetée ; l'erreur est signalée comme résultat incomplet. Cette protection vérifie une marque de réponse. Elle n'est ni une détection générale de défi ni un contournement CAPTCHA. Les fournisseurs de recherche, l'authentification, les verrous de mise à jour et le noyau CLI restent inchangés. Toutes les modifications de 9.1.574 restent incluses.

Nouveautés de 9.1.574

Publié le

Les mises à jour explicitement demandées distinguent désormais une mise à jour bloquée, une vérification de verrou indisponible, un répertoire privé indisponible, une version installée invalide et un installeur protégé indisponible. Ces cas ne sont plus signalés en bloc comme un échec de vérification du paquet. Le changement s'applique aux messages en allemand et en anglais.

L'approbation des mises à jour, le comportement de verrou, les motifs de retour, les codes de sortie et le comportement de l'installeur restent inchangés. Les sessions en cours ne sont pas terminées automatiquement. Les paquets fixés sur un ancien canal interne nécessitent toujours une installation npm explicite avec King arrêté ; cette version ne lève pas cette fixation. Toutes les modifications de 9.1.573 restent incluses.

Nouveautés de 9.1.573

Publié le

Le champ de saisie reste visible et garde le focus après la sélection d'objectif au démarrage, même après Escape ou une reprise d'objectif échouée. Les brouillons non envoyés sont conservés. Au lieu du texte d'objectif complet, une sélection compacte apparaît pour continuer avec ou sans objectif.

Ctrl+S quitte la sélection sans confirmer l'objectif et est traité comme le raccourci régulier pour la file d'attente. Les saisies en attente en mode inactif sont aussi prises en compte. Escape conserve son ordre antérieur : d'abord vider la file d'attente, au prochain Escape interrompre l'exécution active. L'historique de session n'est pas effacé automatiquement.

Cette version ne reconstruit pas les accusés de réception qu'un processus plus ancien a perdus avant la mise à jour. Les messages réellement en attente restent attribués à leur session.

Nouveautés de 9.1.572

Publié le

Pour les preuves de recherche, les URL de sources sont rejetées lorsque leurs paramètres de requête ou fragments en forme de paramètres contiennent des noms de paramètres connus pour les identifiants. Les noms imbriqués et les chemins dans le fragment sont aussi vérifiés. Le rejet s'applique aux sources échouées comme aux sources utilisables.

Les rapports déjà enregistrés avec de telles URL sont écartés à la récupération avec le résultat existant partial / report-invalid. Les états initialement enregistrés ne sont ni modifiés ni supprimés ; les adresses de sources ne sont pas silencieusement tronquées ou réécrites. Les paramètres de requête ordinaires et les ancres dans les URL de documentation sont conservés octet pour octet. La protection reconnaît des noms de paramètres connus, pas des secrets arbitraires, et ne nettoie aucun historique.

Nouveautés de 9.1.571

Publié le

Les plages de la file d'attente Telegram sont attribuées à leur session. Une nouvelle session ne reprend plus automatiquement le travail en attente d'une session plus ancienne. Lors de la reprise d'une session connue, seules ses propres plages en attente sont restaurées. Pendant la sélection, la création et le changement de session, la prise en charge des messages de canal est en pause. Les messages arrivant après la limite choisie, les saisies suivantes dans l'éditeur local et les accusés de réception tardifs conservent leur attribution correcte.

L'attribution et les accusés de réception arrivant dans un ordre différent sont conservés lors d'une nouvelle connexion et de la remise d'un lease. Un état de file d'attente endommagé ou remplacé est rejeté, au lieu de rejouer d'anciennes saisies sans qu'on s'en aperçoive. La boîte de réception et l'historique de session sont conservés. Les anciennes plages en attente sans session reconnaissable sont différées et ne sont attribuées à aucune nouvelle session ; leur restauration automatique n'est pas incluse. Cela ne corrige pas tous les dépassements de temps ni tous les compactages de contexte bloqués. Un retour en arrière n'est pas une procédure de migration de la file d'attente.

Le plugin Telegram et la fonction de repli indépendante de la console pour l'envoi automatique de réponses suppriment les accusés de réception reconnus et les textes qui n'annoncent que le silence de l'agent, y compris au-delà de 200 caractères. Si un message contient une partie de phrase non reconnue ou pertinente pour le contenu, il est conservé. Les brefs avertissements utiles de groupe peuvent toujours être remis. C'est un filtre d'envoi allemand-anglais prudent avec des instructions complémentaires, pas une garantie que chaque modèle comprenne chaque conversation de groupe.

Un nouveau processus doit charger le paquet actualisé ; les sessions en cours ne sont pas redémarrées. Les fixations existantes sur des canaux de mise à jour internes et les verrous d'installation Windows avec EBUSY restent des problèmes distincts. Toutes les autres modifications de 9.1.570 restent incluses. Cette version n'active aucune recherche web hébergée et ne modifie ni AgentSpine ni la facturation, l'authentification ou la configuration client.

Nouveautés de 9.1.570

Publié le

Chaque nouvelle remise de prompt reçoit son propre identifiant de corrélation de hook. Les hooks d'une même remise conservent le même identifiant ; les identifiants explicitement définis sont conservés. Les valeurs d'environnement propres à la session atteignent les sous-processus de hook et les connexions MCP également lors d'une reconnexion, sans réécrire les configurations de plugin enregistrées. L'attribution des résultats d'outils natifs est conservée d'une exécution à l'autre, y compris en cas d'échec d'outil et d'appels en double.

Les requêtes de recherche Unicode canoniquement équivalentes trouvent les mêmes résultats, sans assimiler des caractères différents. Les sources enregistrées, les dates, les versions et les limites de projet sont conservées. king --help et king --version ne modifient plus les paramètres du Registre Windows relatifs aux vidages sur incident.

La recherche web prend en charge les réponses partielles lorsque ce mode de réponse a été convenu, et affiche alors une indication sur les sources défaillantes. Les réponses partielles vides ou incompatibles restent des erreurs explicites. Cette modification côté client n'active aucun service de recherche hébergé et n'en garantit pas le fonctionnement.

Le transport BLUN_EXPERIMENTAL_AGENT_SPINE_TIMELINE est désactivé par défaut. En cas d'activation explicite, il transmet le chemin réel du journal de session enregistré et le protocole associé au plugin AgentSpine sélectionné. Chaque session reçoit sa propre autorisation d'accès, renouvelée après une reprise. C'est un support de transport, pas une preuve de rappel mémoriel ni d'autorisation par le plugin récepteur.

Toutes les modifications publiques de 9.1.569 restent incluses. L'implémentation AgentSpine groupée reste inchangée ; aucune dépendance Mnemo n'est créée. Les profils utilisateur, les autorisations, les conversations et les réglages de plugin ne sont ni migrés ni réinitialisés.

Nouveautés de 9.1.569

Publié le

Cette version publique cumulative contient la remise dans les groupes Telegram selon les mentions, des corrections pour le démarrage et les autorisations ainsi que des collections de recherche et des outils de crawler. Les paquets publiés restent inchangés. Les modifications ultérieures paraissent sous un nouveau numéro de version.

Nouveautés de 9.1.566

Publié le

BLUN King 9.1.566 rend les mises à jour de plugins et le chargement des modules d'exécution natifs plus robustes.

Le runtime AgentSpine groupé est mis à jour vers la version 0.59.1. Son auto-démarreur saute la racine d'un profil utilisateur comme cible de scan, et tous les hooks de cycle de vie restent non bloquants (fail-safe) lorsqu'un chemin protégé ne peut pas être lu.

Les modules natifs .node sont résolus via un cache adressé par contenu en dehors du paquet npm. Dès que cette version est active, une console en cours ne tient plus la copie du paquet de ces modules ouverte. Les mises à jour ultérieures peuvent ainsi remplacer le répertoire du paquet sans entrer en collision avec ces fichiers natifs.

Le paquet public conserve les catalogues d'interface complets en espagnol, français, suédois et tchèque de la version 9.1.565. Les chemins d'exécution internes de Mnemo, les points de terminaison privés, les fournisseurs de modèles internes et les scripts de construction ne sont pas inclus.

État du paquet vérifié

Le paquet client a réussi le scan de fuite, la vérification d'exécution complète avec 13 tests, l'initialisation MCP AgentSpine, une nouvelle installation et la mise à jour depuis 9.1.565. Tous les fichiers texte utilisent des fins de ligne LF. SHA-256 du paquet npm : bed594f1466594ae81dc87964dd01d45b620e905a39cb0a4ccbcc7e27b57fde1.

Nouveautés de 9.1.565

Publié le

BLUN King 9.1.565 stabilise les longues sessions de travail et étend le runtime AgentSpine groupé.

Le frein de répétition réinitialise sa séquence de résultats équivalents dès que du travail réel progresse entre-temps. Les vérifications ordinaires de boîte de réception et de listes de tâches ne déclenchent ainsi plus de réponse forcée erronée.

L'indicateur d'activité tient sur une seule ligne. Il affiche le mot de statut anglais adapté à l'activité en cours, les jetons de réflexion cachée, les jetons visibles, la consommation totale, l'effort, la tentative, le budget et l'étape.

Les erreurs de scan AgentSpine restent non bloquantes (fail-safe) pour les outils de mutation, les saisies utilisateur et les hooks d'arrêt : l'exécution suivante peut continuer et l'erreur est consignée dans le journal d'audit. Avant un arrêt fatal dû à une exception ou à un rejet de promesse non géré, la console écrit le journal d'exécution de façon synchrone.

Le runtime AgentSpine groupé est mis à jour vers la version 0.54.0 depuis le commit fb6d456b68605fd83721090e503f000a26e8a0fb. L'état contient le vrai test ACL fail-open, des plans d'objectifs persistants liés aux dépendances et la résolution liée des lacunes de connaissances.

Les hooks de cycle de vie SessionStart, UserPromptSubmit, PostToolUse et Stop sont envoyés à Mnemo avec l'identité exacte MNEMO_AGENT. Les erreurs réseau restent non bloquantes (fail-safe).

Les textes d'interface auparavant manquants sont désormais complets en espagnol, français, suédois et tchèque.

État du paquet vérifié

Le contrôle complet du paquet, le scan de fuite, la vérification du catalogue de langues, le test des hooks ACL, la nouvelle installation, la mise à jour depuis 9.1.564 et l'initialisation MCP AgentSpine sont au vert. SHA-256 du paquet npm : 88ef653b53fab5bf528d7a5124ca7d5995ab6f90d65318134fa88d8cdf61deba.

Nouveautés de 9.1.564

Publié le

BLUN King 9.1.564 empêche les plantages dus aux dossiers protégés et aux textes d'interface manquants.

AgentSpine saute, lors du scan préparatoire des fichiers, les fichiers et dossiers individuels que le système d'exploitation verrouille avec EPERM ou EACCES. Une erreur de scan inattendue ne bloque plus l'appel d'outil suivant ; l'appel est autorisé et l'erreur est consignée dans le journal d'audit.

Si une clé de texte manque dans une langue d'interface publiée, la console utilise le texte anglais et consigne la lacune une seule fois, au lieu de planter dans le chemin de rendu. La ligne de statut de réflexion reste ainsi utilisable notamment en tchèque, espagnol, français et suédois.

Les traductions proprement dites des clés encore manquantes suivent dans une version vérifiée séparément. Jusque-là, le repli anglais est volontairement visible et sûr en cas de défaillance.

État du paquet vérifié

Le paquet a été vérifié contre le plantage tchèque exact thinking.step de 9.1.563. La nouvelle version fournit « step 6 » au lieu d'une exception, n'avertit qu'une fois par langue et par clé, survit aux dossiers voisins inaccessibles, initialise AgentSpine 0.49.0, réussit une nouvelle installation ainsi que la mise à jour depuis 9.1.563 et ne contient aucun import de plugin non résolu. SHA-256 du paquet npm : 23056703152f668998ea0583bb9797bbbb51f4c2f320917a220908e28430955e.

Nouveautés de 9.1.563

Publié le

BLUN King 9.1.563 met à jour le runtime AgentSpine groupé vers la version 0.49.0.

Le nouvel état exige, avant une tentative d'apprentissage, au moins une preuve récente et indépendante issue d'une confirmation explicite de l'utilisateur ou d'un test objectif. Les seules preuves de conversation ou de document ne suffisent plus, même si leurs autres seuils sont remplis.

Les contrats d'apprentissage lient de façon persistante cette règle de preuve ; des modifications de configuration ultérieures ne peuvent pas affaiblir une vérification en cours. Des verrous de fichiers liés à leur propriétaire protègent les modifications d'apprentissage parallèles contre l'écrasement et font échouer en mode fermé (fail-closed) les verrous manipulés ou externes.

La mise à jour remplace l'arbre de plugins géré au prochain démarrage de façon adressée par contenu. Les installations existantes de la version 9.1.562 sont mises à jour vers AgentSpine 0.49.0, un arbre inchangé est réutilisé, et le serveur MCP AgentSpine confirme la version 0.49.0.

État du paquet vérifié

Le contenu du paquet ne diffère de 9.1.562 que par les mentions de version et le runtime AgentSpine 0.49.0 exactement épinglé. La vérification complète en amont, 49 tests d'apprentissage ciblés, la comparaison de paquet, le scan de fuite, la nouvelle installation, le chemin de mise à jour réel depuis 9.1.562 et une initialisation MCP sont au vert. SHA-256 du paquet npm : 9440d94ddb79af1ed996fda43cb66ef50fae3b96a5f79d0dd008f32a5abd04f8.

Nouveautés de 9.1.562

Publié le

BLUN King 9.1.562 rétablit le fichier d'exécution AgentSpine dans le paquet public.

Le fichier d'exécution requis par le serveur MCP AgentSpine groupé est de nouveau fourni. Une nouvelle installation matérialise complètement le plugin ; le serveur MCP démarre et confirme son nom et sa version de protocole.

État du paquet vérifié

Le contenu du paquet ne diffère de 9.1.561 que par les métadonnées de version et le fichier d'exécution rétabli. Le scan de fuite, la nouvelle installation, la matérialisation du plugin et une réelle initialisation MCP sont au vert. SHA-256 du paquet npm : a249f9cb39dc8750ddbe23f72077586c9e8500ab9f0bbfdbf55989d19e329e8a.

Nouveautés de 9.1.561

Publié le

BLUN King 9.1.561 reprend dans le paquet public les améliorations vérifiées du système de travail.

La demande en cours et les résultats d'outils récents restent disponibles. Les résultats de lecture ne sont pas tronqués. Les grands résultats sont enregistrés avec une référence pour les rappeler, au lieu d'être vidés. Des résultats identiques répétés renvoient au résultat complet le plus récent.

Les compactages sont consignés comme une transaction avec marque de début, de résumé et de fin. Les appels d'outils et leurs résultats restent ensemble, tandis que des points de contrôle persistants sécurisent le chemin de restauration d'une tentative à l'autre.

Les budgets de sortie proviennent désormais du profil de modèle actif. Le modèle BLUN géré reçoit par défaut 128 000 jetons de sortie lorsqu'aucune valeur n'est explicitement définie. Les anciennes limites fixes de 32 768 jetons ainsi que les limites basses pour low et off ne tronquent plus les travaux complexes ; la capacité de contexte reste la limite de sécurité.

Le programme de mise à jour demande confirmation avant de préparer ou de lancer l'installeur. Dans le paquet public, le modèle BLUN géré reste réglé en dur ; /model ne sert plus que d'alias de compatibilité pour /effort.

Le périmètre du paquet a été vérifié sur tous les noms de fichiers et les contenus lisibles. Les chemins internes de fournisseur, le choix du modèle, les scripts de construction et de régression, les identifiants privés et les adresses de serveur privées ne sont pas inclus.

État du paquet vérifié

Le paquet complet, le scan de fuite, la nouvelle installation, les sorties de version et d'aide, les réglages par défaut d'un nouveau profil ainsi que la décision de mise à jour de 9.1.550 vers 9.1.561 sont au vert. SHA-256 du paquet npm : fcbff9b2f9a537462653c873150fe36567f6195c5a6facc714a266ce38415dd7.

Nouveautés de la 9.1.527

Publié le

BLUN King 9.1.527 reprend le flux /copy de DeepAgents.

La commande copie la réponse d'assistant la plus récente, terminée et non vide, via le chemin de presse-papiers multiplateforme existant.

Si /copy est saisi pendant un tour en cours, la commande utilise la file d'attente de commandes existante et est exécutée après la fin de la réponse.

Des messages d'état clairs couvrent le succès, un historique vide et les erreurs du presse-papiers dans les six langues de l'interface.

Une régression rouge-vert protège l'enregistrement de la commande, l'exécution, la sélection de la réponse, le contenu du presse-papiers à l'octet près et les textes d'interface publiés.

État du paquet vérifié

Le prepack complet et la vérification de l'artefact décompressé sont au vert. SHA-256 du paquet npm : 94b13ffc1a45af5eaecd9d19ad658abb1895304c2c663e47d03419c1bb4a7cf2.

Nouveautés de la 9.1.526

Publié le

BLUN King 9.1.526 matérialise la version d'AgentSpine fournie avec le paquet actuel avant que /reload ne reconstruise le catalogue de plugins et la configuration MCP.

Les entrées de plugin non concernées sont conservées. Un arbre AgentSpine géré inchangé est réutilisé, sans réécrire installed.json.

Une régression rouge-vert contre 9.1.525 protège l'ordre de démarrage, la reprise du plugin géré et le comportement idempotent au rechargement.

État du paquet vérifié

Le prepack complet, la vérification de l'artefact empaqueté et le test de mise à jour isolé de 9.1.525 vers 9.1.526 sont au vert. SHA-256 du paquet npm : ae0cc4124ebaac74af1124dcbe2cf6d4d4541126525f947c262809c85f73490a.

Nouveautés de la 9.1.525

Publié le

BLUN King 9.1.525 démarre chaque commande shell locale sous Windows et POSIX dans son propre groupe de processus. Les programmes ne peuvent ainsi plus s'attacher au terminal de contrôle de la TUI BLUN ni intercepter Escape, Ctrl+S ou d'autres saisies de l'éditeur.

L'entrée standard, la sortie standard et la sortie d'erreur restent dans des tubes privés. Les commandes interactives reçoivent une fin de fichier et échouent ou expirent, sans entrer en concurrence avec l'éditeur pour les saisies.

L'isolation shell locale de DeepAgents a été reprise pour Windows. Un test de régression exécutable couvre les deux chemins de plateforme et un test réel avec un processus intercepté.

Nouveautés de la 9.1.524

Sans date

BLUN King 9.1.524 maintient la tâche immédiate créée par une commande Telegram /loop dans le chemin de remise protégé pour les commandes à distance. Elle ne peut ainsi pas subsister comme seconde entrée ordinaire de file d'attente.

La liste de reprise affiche pour chaque session la taille du point de contrôle de reprise, les messages et jetons conservés, la taille de l'historique de session ainsi que les points de contrôle manquants, invalides ou obsolètes.

Le runtime AgentSpine fourni est mis à jour vers l'état officiel vérifié 0.11.4 avec le commit 8034487cdd24498076bac48d3f24400bca5e6ae4. Le budget de temps BLUN de 180 secondes pour la finalisation en arrière-plan de SessionStart est conservé.

Des tests de régression exécutables protègent la remise exactement unique des boucles Telegram et tous les états des mesures de reprise. Le comportement local existant de la file d'attente avec une boucle occupée reste inchangé.

Nouveautés de la 9.1.523

Publié le

BLUN King 9.1.523 permet à Escape de fermer un menu de commandes slash ouvert et de vider le brouillon associé en une seule étape, au lieu de laisser le texte de la commande.

Ctrl+S transmet un brouillon slash au chemin de mise en file d'attente et de traitement existant même lorsque l'interface signale une inactivité, au lieu de revenir silencieusement avant de vider la file d'attente.

Les brouillons normaux sont conservés lorsque Escape ne fait que fermer une autre autocomplétion.

Des tests d'exécution rouge-vert protègent les deux raccourcis contre le comportement exact du paquet 9.1.522.

Nouveautés de la 9.1.522

Sans date

BLUN King 9.1.522 écrit permission.approval_requested immédiatement dans l'historique de session lors de l'ouverture d'une approbation d'outil. Un King sans surveillance ne ressemble ainsi plus à un modèle muet ou à un fournisseur bloqué pendant qu'il attend l'opérateur.

Les boutons d'approbation Telegram existants sont utilisés automatiquement lorsque la liste d'autorisation contient exactement un chat privé et un nombre quelconque de groupes. Avec plusieurs destinataires privés possibles, l'envoi reste bloqué tant que BLUN_TELEGRAM_APPROVAL_CHAT_ID n'est pas défini.

Une régression rouge-vert protège la visibilité immédiate dans l'historique de session, la transmission sans ambiguïté vers un chat privé, la priorité d'une cible explicitement définie et le rejet des destinataires ambigus dans les deux copies de relais livrées.

Nouveautés de la 9.1.521

Sans date

BLUN King 9.1.521 exécute le scan SessionStart d'AgentSpine en dehors du chemin de démarrage interactif. Un scan à froid du répertoire utilisateur, d'une durée de 123,6 secondes, ne bloque ainsi ni l'éditeur, ni la première saisie de l'utilisateur.

Les sorties SessionStart réussies restent automatiques : une fois terminé, le hook d'arrière-plan reprend son briefing limité dans le contexte de session.

Le budget de temps pour les scans à froid passe à 180 secondes. Un test d'exécution rouge-vert prouve que le démarrage rend la main avant un hook lent et que le hook peut ensuite continuer.

Nouveautés de la 9.1.520

Publié le

BLUN King 9.1.520 accorde au hook SessionStart d'AgentSpine suffisamment de temps au rechargement pour achever un scan complet à froid du projet.

La limite de temps pour le démarrage d'AgentSpine passe de 15 à 60 secondes. Toutes les autres limites de temps des hooks restent inchangées.

Un nouveau contrôle d'exécution rouge-vert démarre le vrai hook AgentSpine dans un projet temporaire et vérifie à la fois sa sortie et les deux manifestes de délai d'attente livrés.

État du paquet vérifié

La version 9.1.520 contient AgentSpine 0.10.1. Le test de mise à jour isolé de 9.1.519 vers 9.1.520 et le prepack complet sont au vert. SHA-256 du paquet npm : 3fc37502b544ed2d254711dc2a8be544b906eb8515e53f88289b10c91911a8e7.

Nouveautés de la 9.1.519

Publié le

BLUN King 9.1.519 enregistre les sorties réussies du hook SessionStart avant que le démarrage ou le rechargement ne rende la main. La disponibilité d'AgentSpine atteint ainsi automatiquement le contexte de modèle de la session reprise et n'attend plus le premier message de l'utilisateur.

Les références historiques aux résultats d'outils externalisés conservent un aperçu limité du début et de la fin. Les ancres importantes pour la reprise restent ainsi disponibles, sans réintégrer le résultat complet dans chaque requête de modèle.

De nouveaux contrôles d'exécution rouge-vert protègent la transmission du contexte SessionStart et les aperçus historiques. Le catalogue d'outils pour la tenue de la liste de tâches, restauré avec 9.1.518, reste inchangé.

Nouveautés de la 9.1.518

Publié le

Pendant la tenue proactive de la liste de tâches, Read, Write, Edit et Bash restent disponibles à côté de TodoList. Le chemin de restauration normal pour les grandes modifications de fichiers n'est ainsi plus interrompu.

La tenue automatique de la liste de tâches et son prompt de preuve limité sont conservés, sans basculer l'étape de modèle active vers un catalogue d'outils purement TodoList.

Un contrôle de régression rouge-vert protège contre le retour du catalogue de 9.1.499 et vérifie la sélection des outils de restauration sans schémas en double.

Nouveautés de la 9.1.517

Publié le

Ctrl+S et Escape restent disponibles même lorsque la demande d'approbation est ouverte. Ctrl+S envoie tous les messages en attente ; Escape libère d'abord un message en attente et ne rejette l'approbation que lorsque la file d'attente est vide.

La fin de session asynchrone est entièrement observée dans les chemins du clavier, de Telegram /reload et des commandes slash. session.not_found est traité comme une session déjà terminée, au lieu de faire planter le noyau par un refus non géré.

Les contrôles de paquet rouge-vert protègent les caractères de contrôle Windows bruts et l'erreur mesurée à la fin d'une session qui n'existe plus.

Nouveautés de la 9.1.516

Publié le

Si, dans l'historique enregistré, le début d'une étape d'assistant manque après le compactage, la lecture le reconstruit à partir de l'événement de contenu ou d'outil suivant. king -c ne s'interrompt ainsi plus avec l'erreur interne Received content_part for unknown step_uuid 'undefined'.

Un message Telegram ne quitte la file d'attente qu'une seule fois, dès que le noyau a accepté de façon persistante sa remise active. Les refus réels sont conservés pour une nouvelle tentative. Un bridge Telegram géré par King qui s'arrête de manière inattendue est redémarré par exactement un gardien fusionné.

Par étape de modèle, seule la première modification de TodoList est acceptée. Les points terminés disparaissent automatiquement, les marquages en attente restent visibles même dans les terminaux ANSI16 et une nouvelle liste commence avec exactement un point en cours. L'ordre fixe est : urgent, message utilisateur direct, message de bot adressé, message de bot, message normal.

La première étape pouvant utiliser des outils attend au maximum 2,5 secondes le catalogue MCP initial ; les serveurs optionnels peuvent continuer à démarrer en arrière-plan. Au démarrage du programme, seul le profil actif est vérifié et installé.

État du paquet vérifié

La version 9.1.516 contient AgentSpine 0.10.1. Les huit contrôles de régression prepack, node --check, le contrôle des métadonnées du paquet et un nouveau contrôle du paquet sont au vert. Le même paquet npm contient les composants de plateforme pour Windows, Linux et macOS. SHA-256 du paquet npm : f21bffefb2be44ebf0a9a96d5518c2164188e4c8bd99c669840d1566e48aeb6e.

Nouveautés de la 9.1.515

Publié le

Une liste de tâches véridiquement inchangée est de nouveau acceptée après un travail attesté plus long. King n'a pas besoin d'inventer des progrès ni de reformuler un simple titre pour pouvoir continuer son travail réel.

Une boucle d'inactivité peut aussi reprendre une TodoList encore ouverte, sans retenir de façon persistante l'agent dans le tour de maintenance avec uniquement l'outil Todo. Un contrôle de régression prepack protège les deux chemins d'erreur.

État du paquet vérifié

La version 9.1.515 contient AgentSpine 0.10.1. Le contrôle de régression ciblé de la boucle Todo, node --check, le contrôle des métadonnées de version et une nouvelle installation de paquet sont au vert. Le même paquet npm contient les composants de plateforme pour Windows, Linux et macOS. SHA-256 du paquet npm : cda0647bd0fe9888ac6e985ecc067e962800bb64ddba9b6b07249c210a769dbf.

Nouveautés de la 9.1.514

Publié le

BLUN King 9.1.514 durcit le journal de remise Telegram sans contenu contre les enveloppes de file manipulées.

Les identifiants de message ne sont repris que comme nombres décimaux positifs. Les hachages de chat déjà calculés ne sont admis que comme valeurs hexadécimales minuscules d'exactement douze chiffres. Les valeurs erronées, semblables à du contenu, sont rejetées au lieu d'être journalisées.

Le traitement Telegram existant, les phases de remise, la rotation du journal et le diagnostic de quarantaine sans contenu restent inchangés. Les 133 tests de paquet ainsi que des tests du paquet sur des installations neuves pour Windows x64, Linux x64, macOS ARM64 et macOS x64 sont au vert.

État du paquet vérifié

La version 9.1.514 contient AgentSpine 0.10.1 et ReadBatch. SHA-256 du paquet npm : 1d30915883441daa407475212f12b8774ccbb50490805aea99fd6967e213a125.

Nouveautés de la 9.1.513

Publié le

BLUN King 9.1.513 journalise le chemin de remise Telegram depuis l'arrivée sur le bridge, en passant par le routage, la mise en file et l'injection, jusqu'à la confirmation, la restauration ou la quarantaine.

Le journal limité ne stocke que des identifiants sans contenu, des hachages, des phases de remise, des compteurs et des motifs d'erreur nettoyés. Les textes de messages, les prompts, les chemins, les noms d'utilisateur, les jetons, les identifiants et les messages d'erreur bruts ne sont pas enregistrés.

Le diagnostic de quarantaine, lui non plus, ne duplique plus aucun message Telegram, texte d'affichage, indication d'origine, ID de chat brut ou chemin d'image. Les 132 tests de paquet ainsi que des tests du paquet sur des installations neuves pour Windows x64, Linux x64, macOS ARM64 et macOS x64 sont au vert.

État du paquet vérifié

La version 9.1.513 contient AgentSpine 0.10.1 et ReadBatch. SHA-256 du paquet npm : 409144f1a87330abd3e763256ed8560e044f8e0eebd152c95ce2492dc36e4dae.

Nouveautés de la 9.1.512

Publié le

BLUN King 9.1.512 exige pour la tenue proactive de la TodoList une mise à jour modifiée et fondée sur des preuves, au lieu de réaccepter indéfiniment la même liste. Le tour de maintenance isolé reçoit au plus huit indications compactes sur le nom de l'outil et le résultat depuis la dernière mise à jour acceptée.

Les prompts, arguments, commandes, chemins complets, résultats d'outils ou l'historique de travail ne sont pas rejoués pour cela. Une tentative TodoList échouée conserve cette preuve limitée pour la tentative suivante ; une mise à jour réussie retire les indications utilisées. Les points terminés disparaissent toujours automatiquement, et à l'étape suivante, les outils de travail normaux sont de nouveau disponibles.

État du paquet vérifié

9.1.512 réussit 127 tests de paquet sur 127. Les nouvelles installations choisissent sous Windows x64, Linux x64, macOS ARM64 et macOS x64 les composants de plateforme attendus et contiennent AgentSpine 0.10.1 ainsi que ReadBatch. SHA-256 du paquet npm : 38192b918d66aa6615f0a1262afcc6a1a4fba5c48354e62bbe8a3bd01d9460dc.

Nouveautés de la 9.1.511

Publié le

BLUN King 9.1.511 livre AgentSpine 0.10.1 comme nouvelle version de plugin central adressée par contenu. Le preflight obligatoire vérifie toujours chaque fichier d'instructions d'hôte actif sans risque de condition de concurrence et lie son identité au tour exact, mais ne duplique plus le texte intégral déjà chargé par l'hôte dans le contexte d'exécution.

L'état ajoute des preuves obligatoires avant réponse, des entrées Must-Remember confirmées et la synchronisation auto-réparatrice du graphe de persona et de relations authentifié. Les groupes, personnes et appartenances manquants sont réparés lors d'un nouvel alignement du roster ; les requêtes de relations locales se terminent visiblement après cinq secondes en cas de blocage.

La requête Telegram-Mnemo limitée est conservée : les messages antérieurs ne sont chargés qu'en cas de besoin concret, avec un rapport étroit à l'agent, la personne, le groupe, le thème, le fil et la période. Un historique Telegram complet n'entre pas systématiquement dans le prompt.

État du paquet vérifié

9.1.511 réussit 126 tests de paquet sur 126. Le vrai CLAUDE.md de 15 519 octets a été entièrement vérifié, tandis que l'ensemble du contexte injecté représentait 5 667 octets et ne contenait aucun texte intégral d'instructions. Les nouvelles installations choisissent sous Windows x64, Linux x64, macOS ARM64 et macOS x64 les composants de plateforme attendus et contiennent AgentSpine 0.10.1 ainsi que ReadBatch. SHA-256 du paquet npm : e519e786ade515e4292492740e5c6a62f78c231465c431eebc06b43040425d40.

Nouveautés de la 9.1.510

Publié le

BLUN King 9.1.510 ajoute l'outil ReadBatch. Il lit deux à douze fichiers UTF-8 déjà connus et indépendants, ou des plages de fichiers, en une étape de modèle, en conservant l'ordre des requêtes. Chaque chemin passe par les mêmes contrôles d'accès, de règles et d'autorisation qu'un appel Read individuel. Les succès partiels restent visibles ; seul un lot entièrement échoué compte comme erreur globale.

État du paquet vérifié

9.1.510 réussit 125 tests de paquet sur 125. Les nouvelles installations choisissent sous Windows x64, Linux x64, macOS ARM64 et macOS x64 les composants de plateforme attendus et contiennent ReadBatch. AgentSpine est resté volontairement en 0.8.0, jusqu'à ce que le blocage de budget de contexte trouvé indépendamment dans l'état préliminaire plus récent soit corrigé sans prompt d'exécution agrandi. SHA-256 du paquet npm : 1f38522f0a132c92860d4dbfc991e4f80683614f8c9de87ccba24b591b273b1d.

Nouveautés de la 9.1.509

Publié le

BLUN King 9.1.509 exige pour chaque message de travail Telegram autorisé entre bots une mention explicite du King destinataire. Les messages de bots sans mention correspondante restent visibles, mais ne sont ni mis en mémoire tampon, ni mis en file d'attente, ni remis, ni repris plus tard dans le contexte de modèle de ce King. Un message de bot prioritaire pour un King ne peut ainsi plus devenir la tâche d'un autre King.

État du paquet vérifié

Les 121 tests de paquet réussissent. Le même paquet contient les composants de plateforme vérifiés pour Windows x64, Linux x64, macOS ARM64 et macOS x64. SHA-256 : 071e14065bd7e327abda95a4310f473171f6df3c1ad0f1712c9add666f6da7cc.

Nouveautés de la 9.1.508

Publié le

Les points Todo ouverts ont de nouveau une case visible. La première liste de tâches ordinaire commence elle aussi avec exactement un point en cours ; les étapes suivantes restent en attente jusqu'à ce que leur début réel soit attesté.

Les messages Telegram directs et de groupe acceptés sont transmis à Mnemo de manière asynchrone, mis en mémoire tampon de façon persistante et dédupliqués de façon exacte. Un hub temporairement injoignable ne bloque ni la remise Telegram, ni l'exécution de King. Les commandes /loop et les ticks de boucle internes ne sont volontairement pas enregistrés.

AgentSpine ne charge aucun historique Telegram complet dans le contexte d'exécution. Si une tâche a besoin d'un message antérieur, une requête Mnemo limitée est effectuée selon l'agent, la personne, le groupe, le thème, le fil et la période.

État du paquet vérifié

Les 120 tests de paquet réussissent. Les nouvelles installations choisissent sous Windows, Linux x64, macOS ARM64 et macOS x64 le bon composant de presse-papiers natif et contiennent la connexion Telegram-Mnemo gérée ainsi qu'AgentSpine. SHA-256 : 34bf9cb52d6a469fa1603f95ce9df17c77ae6ff2e675d91f0442246c0d83b69b.

Nouveautés de la 9.1.507

Publié le

BLUN King 9.1.507 demande explicitement au modèle, dans l'outil Read, de regrouper les lectures de fichiers et de plages indépendantes dans une seule réponse de modèle lorsque plusieurs entrées peuvent être utiles.

Cela réduit les tours de modèle évitables dans les grands contextes de travail, sans modifier l'exécution, la navigation de pages, les autorisations ou le traitement des résultats de Read.

État du paquet vérifié

Un test de régression ciblé protège la modification ; les 112 tests de paquet réussissent.

Nouveautés de la 9.1.506

Publié le

Les points TodoList terminés sont retirés immédiatement de la TUI visible. La liste de tâches persistante a déjà correctement écarté ces entrées ; désormais, l'interface affiche le même état nettoyé, tandis que le travail en cours et en attente reste entièrement conservé.

Le tour de maintenance automatique utilise un prompt système dédié de 546 caractères. Auparavant, alors que seul l'outil Todo était disponible, le prompt de travail complet d'environ 19 000 caractères y était ajouté. L'étape de travail suivante reçoit toujours le prompt complet et son catalogue d'outils normal.

Gain de contexte mesuré et état du paquet

Une exécution réelle a montré, pour toutes les huit étapes de travail, un tour de maintenance Todo distinct avec 15 221 jetons d'entrée. Le prompt de maintenance statique rétrécit de 18 470 caractères ; l'économie réelle à l'exécution sera mesurée à nouveau après la mise à jour de la flotte. Le tarball publié réussit 111 tests sur 111. Les nouvelles installations de paquet sous Windows avec Node 24.19.0 et Linux avec Node 24.18.0 confirment la version 9.1.506 ; les binaires macOS pour ARM64 et x64 sont inclus dans le même paquet npm. SHA-256 : 9e01bf05824eedf03de7665a1f0bc294ad4ba1d9f1ed8bf5ca43aab5fa706364.

Nouveautés de la 9.1.505

Publié le

Un message Telegram qui arrive après la reprise du canal, mais avant la fin de l'activation de la file, n'est plus sauté comme ancien arriéré. Sans point de contrôle valide, le traitement commence à la limite d'octets mesurée au début de la reprise, au lieu de la fin de fichier ultérieure.

Un point de contrôle persistant valide garde la priorité. Si le fichier de file est remplacé pendant la transition, le nouveau fichier commence en sécurité à l'octet zéro ; les messages historiques déjà présents avant la reprise ne sont toujours pas rejoués.

Régression mesurée et état du paquet

Le message de groupe 63456 est arrivé une seconde après la reprise du canal, le point de contrôle a sauté jusqu'exactement à sa fin et le message n'est apparu dans aucun historique de modèle. Ce chemin de perte réel est couvert par un test de régression. Le tarball publié réussit 111 tests sur 111 ; les nouvelles installations de paquet sous Windows avec Node 24.19.0 et Linux avec Node 24.18.0 ainsi qu'une mise à jour réelle de 9.1.504 confirment la version 9.1.505. SHA-256 : fd1c4be83316195d8cc9962aa3ff69c3fdf4838b25a99aca59cae3f445275241.

Nouveautés de la 9.1.504

Publié le

Un message Telegram déjà présent dans la file d'attente lors d'une exécution d'agent vide est désormais lancé comme nouveau tour de modèle via le chemin de canal normal. Il n'attend plus une exécution active, qui ne peut par définition pas survenir en inactivité.

La remise existante dans un tour en cours reste inchangée. La tenue Todo isolée, la suppression automatique des points terminés et la restauration ultérieure des outils de fichiers, de recherche et de shell normaux restent également protégées.

État du paquet vérifié

Le tarball publié réussit 106 tests sur 106. La nouvelle régression d'inactivité était rouge avant l'intervention et est verte ensuite, avec 24 tests de file. Les nouvelles installations de paquet sous Windows avec Node 24.19.0 et Linux avec Node 24.18.0 confirment la version 9.1.504 et le même SHA-256 df01bb10d653c0f5e2572b5ea0fe9cf8972db1f6d3df530de5484d3a1cccca27.

Nouveautés de la 9.1.503

Publié le

Le message de maintenance Todo isolé porte désormais aussi un champ toolCalls explicitement vide. Il satisfait ainsi la même forme de message que les tours de travail réguliers et peut être traité en sécurité par la normalisation de fournisseur BLUN.

L'erreur d'exécution réelle TypeError: message.toolCalls is not iterable ne survient ainsi plus avant l'appel TodoList. Un test de régression itère le message généré exactement comme la frontière de fournisseur, avant la mise en service de la maintenance.

État du paquet vérifié

Le tarball publié réussit 105 tests sur 105. Les tests du paquet sur des installations neuves sous Windows avec Node 24.19.0 et Linux avec Node 24.15.0 confirment la forme complète du message de fournisseur, la tenue Todo isolée et la suppression automatique des points terminés. La validation réelle de la flotte se déroule après le redémarrage contrôlé des trois Kings.

Nouveautés de la 9.1.502

Publié le

L'étape de maintenance TodoList à échéance ne reçoit plus qu'un message récent, limité à la tâche actuelle et à la liste visible. Les anciens appels Read, Bash ou MCP de l'historique de travail ne peuvent ainsi plus aboutir dans l'étape volontairement limitée à TodoList.

Les tâches terminées disparaissent automatiquement de la liste visible et persistante lors de l'enregistrement. Les points en cours, en attente, bloqués, en attente d'approbation et annulés sont conservés ; la liste ne croît ainsi pas indéfiniment par le travail achevé.

Constat de flotte mesuré

Deux profils d'agents ont rencontré indépendamment la même régression : après une utilisation réussie d'outils, la maintenance Todo répétait les outils de travail historiques et affichait Tool not found. Le tarball publié réussit 105 tests sur 105. Les nouvelles installations sous Windows avec Node 24.19.0 et Linux avec Node 24.15.0 confirment la maintenance isolée, la suppression des points terminés et le retour des outils normaux. Une validation macOS réelle ne fait pas partie de cette preuve.

Nouveautés de la 9.1.501

Publié le

Après une étape de maintenance TodoList réussie, tous les outils sélectionnés pour le tour sont de nouveau disponibles dans l'étape de travail immédiatement suivante. Read, Bash et les autres outils de travail ne restent plus cachés derrière le catalogue Todo temporairement restreint.

Régression réparée

L'étape Todo proposait volontairement uniquement TodoList. Sa sélection d'outils restait cependant active, sans restauration explicite, également dans l'étape suivante. 9.1.501 y remet le catalogue normal et protège les deux chemins d'étape suivante par une régression.

Golden Release 9.1.500

Publié le

Cette version regroupe l'état fonctionnel complet de 9.1.499 inchangé comme publication npm commune pour Windows, Linux et macOS. Le marquage Gold est volontairement limité aux titres de cette version ; les entrées plus anciennes conservent leur présentation actuelle.

État de la version

La Golden Release reprend les modifications vérifiées de Todo, de file, de boucle, de contexte, d'AgentSpine et d'analyse d'images de 9.1.499 sans logique d'exécution supplémentaire.

Nouveautés de la 9.1.499

Publié le

Les données d'image, d'audio et de vidéo en dehors des douze derniers messages de conversation ne sont remplacées par de brèves références que dans la projection répétée destinée au modèle. Les médias actuels, le texte du message et l'historique brut complet de session restent inchangés.

Dans un point de contrôle de reprise mesuré, cette projection économise 85 748 caractères, soit environ 21 437 jetons d'entrée estimés par étape d'outil supplémentaire.

La tenue Todo à échéance se déroule avant le neuvième bloc de travail comme étape de modèle distincte à faible effort. Dans cette étape, l'exécution ne propose que TodoList ; les outils de fichiers, de recherche, de shell et autres outils de travail ne sont de nouveau autorisés qu'après une mise à jour valide.

Les messages utilisateur récents gardent la priorité sur la tenue Todo. Le contrôle Todo strict reste comme filet de sécurité pour les mises à jour réellement invalides, mais n'apparaît plus comme erreur intermédiaire rouge normale avant une tenue de liste autonome.

Preuve vérifiée

Le tarball publié réussit 105 tests d'exécution et de régression sur 105. Les nouvelles installations isolées sous Windows avec Node 24.19.0 et Linux avec Node 24.15.0 signalent exactement la version 9.1.499 et confirment la projection des médias, l'historique brut inchangé, le pré-pilotage Todo et le masquage de tous les outils de travail pendant l'étape Todo. Le candidat comprend 850 chemins et porte le SHA-256 51e79a766d834d06a6e0d428337a45c9ab62ed8535a988f77b73c1164162f71f. Une validation macOS réelle ne fait pas partie de cette preuve.

Nouveautés de la 9.1.498

Publié le

/usage affiche le taux de réussite du cache de prompt signalé par le fournisseur ainsi que les jetons de cache lus et écrits par modèle. Sans activité de cache signalée, l'affichage n'invente aucun taux.

/tokens est un alias court pour le diagnostic de contexte détaillé existant ; /offload appelle le compactage avec archivage existant. Aucune des deux commandes ne déclenche d'appel de modèle supplémentaire.

Les messages de bot autorisés différents ne sont plus rejetés par une fenêtre rigide de 15 secondes. L'ordre existant est conservé : les messages privés et explicitement adressés passent avant les messages de bot, les messages de bot avant le contexte normal.

Un compactage complet reprend la liste Todo exacte dans le nouveau contexte. Si ensuite le chemin, la commande, le hachage ou l'exigence sont incertains, une indication de restauration unique demande d'abord la lecture de l'historique archivé, au lieu d'une vaste recherche de fichiers ou d'un nouveau départ.

Les étapes Todo terminées sont conservées comme preuve. Si des constats ultérieurs rendent une étape à nouveau nécessaire, la fin attestée reste en place et le nouveau contrôle apparaît comme une étape distincte en cours, avec justification.

Les boucles de session récurrentes attendent tant que la liste Todo tenue à jour contient encore un travail en cours ou en attente. Les intervalles manqués sont regroupés jusqu'à une inactivité réelle ; les autres rappels planifiés n'en sont pas affectés.

Preuve vérifiée

Le tarball préparé réussit 100 tests d'exécution et de régression sur 100. Les nouvelles installations isolées sous Windows avec Node 24.19.0 et Linux avec Node 24.15.0 signalent exactement la version 9.1.498 et confirment l'affichage du cache, les alias de commandes, la restauration par compactage, les preuves Todo monotones, la protection des boucles de session, le journal des modifications du paquet et la priorité des bots. Le candidat comprend 849 chemins et porte le SHA-256 11b6918c02cc743b6d65aca79820abf5d0aa55786948c12ad9f0187c587b1d56. Une validation macOS réelle ne fait pas partie de cette preuve.

Nouveautés de la 9.1.497

Publié le

Les messages de bots Telegram issus de groupes communs passent après les messages privés et explicitement adressés, mais avant le contexte normal. La priorisation n'impose aucune réponse.

Un message Telegram accepté disparaît de la file visible dès que son étape de modèle injectée commence. Une remise rejetée ou une interruption avant la première étape le conserve pour une nouvelle tentative.

Une réponse Telegram ou un traitement de message à échéance n'est plus bloqué par la tenue à jour de la liste Todo. La prochaine étape de travail normale reste verrouillée jusqu'à la mise à jour véridique de la liste Todo.

Versions 9.1.496 à 9.1.487

VersionModifications
9.1.496Remise automatique des messages utilisateur Telegram un par un, suppression uniquement de l'ID de message exactement accepté ou ayant reçu une réponse, progression véridique imposée pour chaque liste Todo visible et dissimulation des charges utiles de hooks internes réussies.
9.1.495Démarre chaque objectif nouveau ou remplacé avec une nouvelle liste Todo visible, exige des mises à jour véridiques, retire immédiatement le focus de groupe Telegram dès qu'une réponse a été envoyée avec succès, reporte les accusés de réception normaux jusqu'à la fin du tour et ajoute de réels contrôles de décodage pour Ctrl+S et Ctrl+T.
9.1.494Sépare de nouveau clairement les raccourcis clavier : Ctrl+S ne pilote que l'arriéré de la file, Ctrl+T que la liste Todo. Pendant un travail en cours, les messages utilisateur Telegram sont automatiquement autorisés pour la prochaine remise sûre.
9.1.493Les messages utilisateur Telegram sont libérés automatiquement vers la prochaine remise sûre pendant un travail actif. Les messages directs restent en tête de file, sans bloquer de façon persistante les messages de groupe.
9.1.492Les messages de groupe déjà libérés sont conservés lors d'une remise temporairement occupée et sont retentés. Le paquet, les métadonnées npm, le manifeste public et le journal des modifications sont vérifiés ensemble avant un message de succès.
9.1.491Les messages Telegram directs sont priorisés immédiatement pendant un travail en cours. Le pilotage manuel de la file est resté en place pour les autres messages.
9.1.490L'historique du paquet documente intégralement l'état non publié 9.1.487 et les réparations réellement publiées à partir de 9.1.488.
9.1.489La liste de tâches, le pilotage de la file, l'identité d'exécution Telegram, l'installation de profil AgentSpine et l'analyse d'images gérée ont été restaurés et protégés par des tests de régression.
9.1.488Le plugin central AgentSpine préparé a été publié. Les doublons Telegram ne laissent plus de tour fantôme ; la profondeur de réflexion et le traitement sûr de la télémétrie sont conservés sur l'ensemble des étapes d'outils.
9.1.487Non publié. Cet état préparait AgentSpine comme plugin central géré. Sur npm, 9.1.488 a suivi directement après 9.1.486.

Nouveautés de la 9.1.486

Publié le

Les profils nouveaux et mis à jour démarrent désormais de manière fiable en anglais sous Windows, macOS et Linux. Une valeur de langue automatique enregistrée est migrée une seule fois, tandis que les langues explicitement choisies restent inchangées.

Les mises à jour automatiques au démarrage sont de nouveau activées par défaut via l'installeur existant lié à la version. [upgrade].auto_install = false conserve la demande de confirmation ; un programme de mise à jour en arrière-plan n'est pas réintroduit.

Les boîtes de dialogue de démarrage, la progression, les erreurs, les messages de succès et la reprise de session utilisent désormais la même langue. Les tests de régression et de mutation protègent la migration, le chemin de mise à jour et les données de session.

Preuve vérifiée

La suite de tests complète a réussi avec 1 474 vérifications sur 1 474. Une exécution de mise à jour isolée a installé 9.1.486 depuis 9.1.485, a laissé la configuration et la session inchangées et a démarré la nouvelle CLI. Un test de démarrage séparé a attesté l'installation automatique sans demande de confirmation, ainsi que la migration unique d'une ancienne valeur de langue automatique vers l'anglais.

Versions 9.1.485 à 9.1.178

VersionModifications
9.1.485
  • Limite la première restitution visible d'une session reprise sans index de défilement aux 15 tours de conversation actifs, au lieu de redessiner toute la conversation.
  • Vide la zone de mise à jour visible après une mise à jour réussie, avant le démarrage de la nouvelle console ; le défilement normal du terminal est conservé.
  • Ajoute des contrôles de régression et de mutation pour le repli du réaffichage, y compris une simulation avec 97 596 enregistrements.
9.1.484
  • La détection de plugins accepte en outre .codex-plugin/plugin.json et résout PLUGIN_ROOT ou BLUN_PLUGIN_ROOT dans la commande, les arguments et le répertoire de travail.
9.1.483
  • Le modèle de compactage peut être choisi, enregistré et réinitialisé pour hériter à nouveau du modèle actif ; la sélection et le message de confirmation se trouvent dans la commande d'inactivité et dans les réglages localisés.
9.1.482
  • Les résultats Read externalisés conservent le prochain line_offset et poursuivent la lecture d'origine à cet endroit, au lieu de relire le même fichier depuis le début.
9.1.481
  • Les réponses de sous-agents qui se terminent à la limite de jetons sans appel d'outil sont reconnues comme max_tokens pour la continuation existante. Les motifs Glob avec .. et les chemins d'accueil nommés comme ~name sont rejetés.
9.1.480
  • Met à jour le skill translate-native fourni et le MCP Language Guard à la version 6.42.13.
  • Lie les fichiers fournis du Language Guard à l'octet près au commit source 6430ce30e235c1a9d1ebcd1b646d62edce510605.
  • Ajoute des contrôles de provenance et de mutation, de sorte que des octets de protection modifiés ou une version du skill divergente font échouer l'étape de validation de la publication.
9.1.479
  • Ajoute au service privé King de l'Agent API une route interne authentifiée pour le contrôle de disponibilité.
  • Vérifie la disponibilité du service sans créer de session client ni démarrer d'exécution d'agent.
  • Limite la route à l'interface de bouclage et à GET, la protège par un secret et empêche sa mise en cache.
9.1.478
  • Lève les pauses ordinaires du focus Telegram direct après un redémarrage, même lorsque d'anciens points de contrôle ne contiennent aucun délai de réponse.
  • Préserve les pauses explicitement demandées par l'utilisateur jusqu'à l'approbation, au lieu de les laisser expirer automatiquement.
  • Libère les messages de canal en file d'attente pour une exécution active dès que le focus direct prend fin.
9.1.477
  • Ajoute au service privé de l'Agent API une enveloppe de processus explicite, lancée par l'opérateur.
  • Traite SIGINT et SIGTERM exactement une fois, même lorsque les signaux arrivent pendant le démarrage.
  • S'interrompt proprement avec des messages limités, n'appelle pas process.exit et ne démarre jamais le service automatiquement.
9.1.476
  • Ajoute au service privé de l'Agent API un contrat d'environnement selon le principe du verrou sûr.
  • Exige un port de bouclage explicitement défini, des secrets d'isolation, des réglages de fournisseur et des limites de ressources.
  • Laisse le service privé arrêté et le nettoyage automatique des sessions inactives désactivé, jusqu'à ce que les deux soient explicitement configurés.
9.1.475
  • Ne libère que les sessions de l'Agent API configurées en conséquence et réellement inactives, avant qu'un client n'atteigne la limite de sessions.
  • Protège les exécutions de modèle et d'outils actives indépendamment de leur âge et actualise la période d'inactivité lors d'une utilisation réelle.
  • Laisse le nettoyage automatique désactivé, jusqu'à ce qu'un opérateur configure explicitement un délai d'inactivité.
9.1.474
  • Lève l'attribution de session active lorsque la reprise d'un agent échoue après un résultat d'outil.
  • Permet ensuite la fermeture explicite de la session concernée.
  • Laisse les retours d'outils réussis et le contrat public des modèles inchangés.
9.1.473
  • Protège une session de l'Agent API contre la fermeture tant que son premier appel de modèle est encore en cours.
  • Libère la session de manière fiable après une réponse réussie ou une erreur de modèle.
  • Laisse le chemin existant pour les modèles bruts et le contrat public des modèles inchangés.
9.1.472
  • Permet aux clients de fermer explicitement une session inactive de l'Agent API et de libérer leur place de session limitée.
  • Empêche la fermeture des sessions actives et limite chaque opération de fermeture au client propriétaire concerné.
  • Met la place libérée à disposition pour une nouvelle session, sans modifier le contrat public des modèles.
9.1.471
  • Ajoute un hôte de service fermé qui assemble la pile privée de l'Agent API, sans la démarrer automatiquement.
  • Exige des secrets séparés pour le transport et l'isolation, un répertoire racine client absolu et une configuration explicite de l'environnement d'exécution King.
  • Lie les écouteurs à l'interface de bouclage et ferme, lors de l'arrêt, chaque session client ainsi que chaque environnement d'exécution.
9.1.470
  • Isole les sessions headless de l'Agent API par client de confiance et par session publique.
  • Regroupe les premiers accès simultanés dans une session SDK et limite les clients et sessions actifs.
  • Utilise des identifiants internes et des répertoires de travail opaques, liés à une clé, tout en conservant les identifiants de session publics stables.
9.1.469
  • Ajoute à l'adaptateur de l'Agent API un transport HTTP privé, joignable uniquement via l'interface de bouclage.
  • Exige un secret de service et une identité client prédéfinie côté serveur ; les indications d'identité falsifiées dans le corps de requête sont ignorées.
  • Rejette les requêtes surdimensionnées ou erronées et tient les détails internes de fournisseur hors des messages d'erreur publics.
9.1.468
  • Maintient l'agent principal réactif pendant que les sous-agents travaillent en arrière-plan et que les sous-agents imbriqués continuent.
  • Permet aux sessions restreintes de l'Agent API d'utiliser le cycle de vie des sous-agents, sans exposer les outils locaux de shell ou de système de fichiers.
  • Transmet la limite d'outils exacte à chaque niveau de sous-agent imbriqué, de sorte que les restrictions ne puissent pas être contournées par délégation.
9.1.467
  • Ajoute un adaptateur de transport explicite pour les exécutions d'agent, sans intercepter les routes existantes pour les modèles bruts ou les listes de modèles.
  • Lie les résultats d'outils et les interruptions ciblées au même périmètre de client, de session et de requête.
  • N'affiche que King, nettoie les erreurs internes inattendues et refuse le streaming jusqu'à ce qu'un contrat d'agent existe pour cela.
9.1.466
  • Enregistre chaque appel de modèle achevé de l'Agent API sous un identifiant de tâche stable, sans regrouper l'utilisation de différents clients.
  • Une correspondance JSONL persistante garde la requête, la session, la tâche, l'ID d'appel et les champs d'utilisation bruts retrouvables même après un redémarrage.
  • Vers l'extérieur, seuls King et les compteurs bruts pour l'entrée, l'entrée en cache et la complétion apparaissent ; les données d'utilisation manquantes restent explicitement signalées.
9.1.465
  • Ajoute un pilotage d'exécution isolé pour le point de terminaison d'agent explicite de l'Agent API, sans modifier les complétions de modèle brutes.
  • Les appels d'outils gérés par le client conservent, sur l'ensemble des retours de résultats, une seule exécution King et restent limités à la requête d'origine.
  • Les réponses des agents parents excluent les flux d'événements des agents enfants et les brouillons abandonnés lors des nouvelles tentatives.
9.1.464
  • Les sous-agents gérés s'exécutent désormais découplés, de sorte que l'agent principal reste réactif pendant que le travail délégué se poursuit.
  • Les sous-agents en cours peuvent être pilotés avec TaskUpdate ou arrêtés avec TaskStop, sans fermer la session principale.
  • Les messages de groupe Telegram adressés restent en focus jusqu'à ce que l'agent réponde dans le chat correspondant.
9.1.463
  • Une reprise par point de contrôle ne rend que le dernier groupe de tours TUI actif lorsque des données de fenêtre existent ; les lignes plus anciennes restent dans l'archive de défilement et sont rechargées en cas de besoin.
9.1.462
  • Des contenus tui.toml inchangés ne déclenchent plus d'échange de fichier atomique ; les modifications réelles continuent d'utiliser le chemin d'écriture verrouillé existant.
9.1.461
  • /status distingue l'état d'exécution chargé du paquet installé et signale un écart également dans le statut à distance Telegram.
9.1.460
  • Les messages de session visibles plus anciens restent dans une archive de disque persistante et sont chargés par blocs lors du défilement vers le haut, sans lire tous les blocs de texte au démarrage.
9.1.459
  • Une reprise restaure un point de contrôle sémantique lié à l'intégrité et ne lit que la partie du fichier de session inchangé ajoutée depuis ; en cas de point de contrôle invalide, la lecture complète reste le repli.
9.1.458
  • Une somme de contrôle reprise d'un rapport externe n'est liée que si exactement cette valeur est présente dans l'événement source sélectionné.
9.1.457
  • Si la même somme de contrôle provient de plusieurs événements externes, l'origine est signalée comme ambiguë au lieu d'être attribuée à un rapport.
9.1.456
  • Les sommes de contrôle dans les messages Telegram sortants sont rapprochées des résultats d'outils locaux et des rapports externes visibles ; les valeurs non attribuées génèrent une indication d'origine.
9.1.455
  • Les rapports Telegram peuvent être liés comme credible_unverified via l'identifiant de chat et de message ; le rapporteur et l'origine de l'événement sont fixés par le runtime.
9.1.454
  • Les vérifications récentes sont automatiquement liées à la session et à l'agent qui les ont générées ; les mesures transmises restent des rapports externes.
9.1.453
  • Un justificatif de fin est lié au critère de fin actuellement valide et est refusé pour un critère différent ou dépassé.
9.1.452
  • Chaque justificatif est lié au périmètre de cible réellement mesuré ; les vérifications de commande doivent porter la même valeur BLUN_EVIDENCE_SCOPE sûre des deux côtés.
9.1.451
  • Chaque justificatif porte le type exact inspection, integrity, syntax, test ou reachability. Une vérification plus faible ne doit pas être présentée comme plus forte.
9.1.450
  • Les justificatifs de résultat et de vérificateur sont séparés. Seul un vérificateur nouveau ou modifié a besoin d'une seconde preuve de rigueur indépendante ; les mesures normales n'ont pas besoin de contre-épreuve rouge.
9.1.449
  • Le justificatif de fin nomme l'appel de vérification réussi exact via son toolCallId ; un appel de commande mixte avec modification et vérification ne suffit pas.
9.1.448
  • Une fin d'objectif doit lier l'affirmation vérifiée à un appel de vérification réussi du même tour ; les purs outils d'écriture ou de modification ne comptent pas comme justificatif.
9.1.447
  • Une action choisie est liée à des justificatifs de décision persistants ; les justificatifs inconnus ou obsolètes imposent une nouvelle planification.
9.1.446
  • Le verrou de répétition en direct reconnaît en outre les courtes suites de mots récurrentes de deux à huit mots.
9.1.445
  • Les indices d'apprentissage sélectionnés sont enregistrés avec le résultat d'apprentissage validé du tour actuel comme trace d'exposition, sans en affirmer une causalité.
9.1.444
  • La recherche de pertinence pour les erreurs antérieures utilise des données persistantes d'objectif, de point de contrôle et de cadre de problème, au lieu des seuls messages utilisateur récents.
9.1.443
  • Lors d'une continuation d'objectif immédiate, une sélection explicite tool: ou skill: charge exactement le moyen choisi.
9.1.442
  • Le focus de travail préserve le fil de décision composé du statut, de la phase, du dernier contrôle, du choix, de la justification, du soutien, du risque et de la réversibilité.
9.1.441
  • Les connaissances manquantes sont gérées dans un domaine knowledge_gap dédié, au lieu de figurer dans le texte d'objectif général, sont priorisées et sont masquées lorsque la valeur est vide.
9.1.440
  • Les connaissances du monde et les hypothèses peuvent être intégrées comme domaines propres dans le focus persistant et pondérées.
9.1.439
  • Le focus cognitif persistant reçoit une évaluation de saillance avec déclin entre les sessions et renforcement lors d'un accès renouvelé.
9.1.438
  • Pendant le rejeu de session, le rognage, la fusion et le rendu sont différés ; ensuite, exactement un nouveau rendu de transcript est demandé.
9.1.437
  • Le gardien d'inactivité utilise de nouveau le chemin de texte adapté pour les délais et ne termine plus le processus par un paramètre non autorisé dans le minuteur.
9.1.436
  • Le statut à distance Telegram affiche, lors d'un tour actif, le début, le dernier progrès, le dernier outil et les erreurs répétées ; la TUI publie pour cela des instantanés d'activité en cours.
9.1.435
  • Les points de contrôle de focus Telegram privés suivent désormais l'espace de travail lié à la session active.
  • La sélection de l'espace de travail n'enregistre plus le répertoire de démarrage comme lieu de reprise pour les conversations directes.
9.1.434
  • L'apprentissage confirmé suit désormais l'espace de travail lié à la session d'agent active.
  • Les sessions avec plusieurs espaces de travail et les sessions reprises n'enregistrent ni n'affichent plus les leçons de projet dans le répertoire du processus hôte.
9.1.433
  • La préparation d'une saisie dans l'éditeur externe reste désormais dans la limite de nettoyage des répertoires temporaires.
  • Si la première écriture échoue, par exemple à cause d'un disque plein ou de droits manquants, le répertoire d'éditeur temporaire est supprimé avant la propagation de l'erreur.
9.1.432
  • En cas d'erreur de flux temporaire, la requête peut désormais être relancée avec le même modèle sélectionné, même après une sortie partielle visible.
  • Le texte d'assistant incomplet et les affichages d'outils inachevés sont complétés ou écartés avant la nouvelle tentative, afin que la nouvelle sortie ne s'ajoute pas à la tentative échouée.
  • Après une sortie visible, le changement de fournisseur reste bloqué, de sorte qu'une réponse ne puisse pas changer de fournisseur en plein flux.
9.1.431
  • Les processus locaux de l'outil Bash désactivent désormais de force les invites Git dans le terminal, au lieu d'hériter d'un réglage interactif du processus parent.
  • Les dialogues askpass hérités de Git, SSH et Git Credential Manager sont désactivés dans le processus enfant de l'outil ; cela évite des attentes invisibles sur les identifiants Windows.
  • Le shell parent et l'environnement de la session en cours restent inchangés ; le comportement existant avec une entrée standard fermée est conservé et est sécurisé indépendamment.
9.1.430
  • Le compactage complet peut désormais utiliser un alias de modèle configuré en option via [loop_control].compaction_model ; le modèle King actif reste la valeur par défaut.
  • L'authentification, la préparation du contexte, le budget de complétion, l'apprentissage de débordement et la facturation d'utilisation du compactage sont entièrement liés au modèle de compactage choisi.
  • Le modèle actif continue de déterminer le début du compactage et le frein de requête de dernier recours, de sorte qu'un modèle de résumé plus petit ne puisse pas réduire discrètement la fenêtre de réflexion centrale.
9.1.429
  • Bash sous Windows rejette désormais la syntaxe cmd.exe manifeste avant le démarrage du processus, au lieu de gaspiller une exécution visiblement échouée.
  • La description de l'outil Bash précise explicitement que le Bash POSIX reste actif sous Windows, y compris dans VS Code, et nomme les bonnes conventions pour les chemins et les redirections.
  • Les commandes find POSIX valides restent autorisées ; pour une sémantique cmd voulue consciemment, une transmission explicite à cmd.exe /c reste disponible.
9.1.428
  • Les écritures JavaScript et TypeScript générées s'arrêtent désormais avant l'accès au disque lorsqu'une instruction exécutable se répète huit fois de suite ; cela empêche les sorties incontrôlées des scripts d'analyse.
  • Le contrôle de protection couvre les appels Write pour les fichiers complets ainsi que les remplacements Edit, tandis que les fichiers non-code, les commentaires, les chaînes et les répétitions légitimes plus courtes ne sont pas concernées.
  • Les trois cas de dégénérescence observés avec 15, 23 et 31 instructions répétées sont bloqués ; les intentions incomplètes mais non répétitives restent en dehors de ce contrôle mécanique.
9.1.427
  • La commande visible /memory core signale désormais la limite active de l'adaptateur de mémoire, la version du contrat, le mode d'identité, l'état d'intégrité et les justificatifs inter-portails, en option comme sortie --json.
  • Le stockage de remplacement lié au profil et les identités dérivées des profils sont explicitement exclus de l'éligibilité à un noyau commun, au lieu d'être présentés comme mémoire neutre pour les portails.
  • Les fournisseurs configurés restent visiblement non confirmés jusqu'à l'obtention de justificatifs séparés ; le diagnostic est en lecture seule, n'accorde aucune autorisation et n'invente jamais de preuves inter-portails.
9.1.426
  • La commande visible /memory acceptance exécute désormais un contrôle de mémoire V7 temporaire synthétique sur l'ensemble de CLI, Telegram et Web et peut en option produire un rapport --json.
  • Dix contrôles indépendants couvrent l'origine du portail, les identités liées et non liées, l'isolation des agents et des groupes, la déduplication, la correction et la suppression globales, le verrou sûr du fournisseur ainsi que les octets sources protégés.
  • Le rapport de validation ne sert que de preuve déterministe : il n'accorde aucune autorisation et ne lit ni ne modifie jamais un vrai profil utilisateur.
9.1.425
  • Les sous-agents qui atteignent leur limite de jetons reçoivent désormais, dans le même contexte d'agent, une exécution de transmission concise sans outil, au lieu de perdre le travail d'outils achevé.
  • Si cette transmission atteint elle aussi la limite, l'agent parent reçoit un résumé partiel limité ainsi que l'instruction exacte pour que le même agent poursuive.
  • La restauration reste conçue selon le principe du verrou sûr : pas de nouvel essai complet de la tâche, pas de message de fin sans transmission conclusive et pas de nouvelles autorisations.
9.1.424
  • Les leçons confirmées de Mistake.md sont désormais transférées aux cas formulés différemment mais sémantiquement similaires, issus de la fiabilité, de la remise, de l'orchestration, de la mémoire, de la publication, des médias et de la validation.
  • Les termes de justificatif exacts gardent la priorité sur les catégories sémantiques larges ; le texte non apparenté reste sans attribution.
  • Les formulations allemandes naturelles sont unifiées de manière déterministe ; l'ordre de priorité modifié ne crée pas de nouvelles autorisations et ne promeut pas non plus une leçon non confirmée.
9.1.423
  • Les terminaisons d'exécution écrivent désormais une entrée de diagnostic synchrone persistante, avant que le noyau ou le lanceur ne revienne ou ne se termine.
  • Les exceptions non interceptées, les rejets non gérés, les terminaux défaillants, les signaux, les erreurs de démarrage, les terminaisons normales, les erreurs de processus enfants et leurs terminaisons préservent la cause nettoyée exacte, y compris la frontière de processus.
  • Le journal privé est limité et tolérant aux pannes, supprime les secrets et les chemins d'accueil et ne redémarre ni ne recharge aucune session en cours.
9.1.422
  • Une session ouverte et inactive surveille désormais son déclencheur temporel enregistré et devient active, en mode automatique et en God Mode, à l'échéance dueAt ou après.
  • Un déclencheur arrivé à échéance attend que les réponses actives, le compactage, les messages en file d'attente, les commandes et les dialogues soient terminés, avant de continuer exactement une fois.
  • Avant le démarrage, le runtime relit l'objectif, la révision du point de contrôle, l'échéance, le mode d'autorisation et la session, et écarte les minuteurs sur chaque chemin de terminaison de la session.
9.1.421
  • Les points de contrôle d'attente temporels enregistrent désormais un horodatage dueAt exact et l'unifient en UTC.
  • Un démarrage de session normal en mode automatique ou en God Mode laisse les déclencheurs temporels futurs attendre et les reprend à leur échéance ou après.
  • La première exécution reprise reçoit l'observation exacte de l'échéance ; les sessions ouvertes en continu ne reçoivent encore aucun minuteur d'exécution dans cette version.
9.1.420
  • Un objectif actif avec un point de contrôle d'attente persistant rend la main après l'exécution actuelle, au lieu d'attribuer une autre exécution autonome.
  • Les déclencheurs externes, temporels, liés à des dépendances et dépendant de décisions utilisateur restent enregistrés et sont réévalués à l'arrivée de l'événement suivant.
  • Les objectifs immédiats et les objectifs actifs plus anciens sans point de contrôle sont poursuivis sans changement.
9.1.419
  • Une session reprise régulièrement poursuit désormais un objectif déjà actif lorsque son prochain déclencheur enregistré est explicitement immédiat et que le mode automatique ou le God Mode est actif.
  • La reprise reste interne, s'exécute au plus une fois par session reprise et n'apparaît jamais comme message utilisateur inventé.
  • Les objectifs en attente, en pause et bloqués, les points de contrôle manquants ainsi que les modes d'autorisation manuels restent suspendus.
9.1.418
  • Telegram préserve désormais le marquage de bot explicite de l'expéditeur dans les données d'entrée, afin que le contexte d'identité puisse distinguer les agents des humains.
  • Les acteurs Telegram déjà enregistrés comme humains ne sont corrigés en agents que si le fournisseur, le sujet et le marquage de bot explicite correspondent.
  • Les détails des acteurs sont conservés, les agents ne sont jamais rétrogradés et les noms ou noms d'utilisateur ne sont jamais utilisés pour dériver une identité d'agent.
9.1.417
  • Les réponses de remplacement automatiques Telegram divisent désormais les réponses de plus de 4 096 caractères en messages successifs, au lieu de les tronquer.
  • Chaque caractère et chaque paire de substitution Unicode sont conservés ; le journal d'envoi enregistre tous les ID de messages renvoyés ainsi que le texte complet.
  • Si une partie échoue, la remise s'arrête à cet endroit, au lieu de signaler une réponse incomplète comme complète.
9.1.416
  • Les résultats récents du dernier lot d'appels d'outils restent entièrement lisibles jusqu'à la prochaine réponse d'assistant, même si un contexte Telegram ou de pilotage est ensuite injecté.
  • L'externalisation des lots, le nettoyage de l'historique et le micro-compactage utilisent désormais la même frontière sémantique pour les résultats récents.
  • Les résultats plus anciens déjà évalués continuent d'être compactés normalement, de sorte que les économies de contexte existantes restent préservées.
9.1.415
  • Le focus de travail persistant préserve désormais le déclencheur exact de la prochaine action au fil des redémarrages et des changements de contexte.
  • La prochaine action reste séparée de sa condition d'approbation ; cela vaut aussi pour les conditions valides de plus de 512 caractères.
  • Les déclencheurs erronés ou inadaptés à la phase sont rejetés de manière sûre ; les points de contrôle plus anciens conservent leur comportement antérieur.
9.1.414
  • Les nouveaux points de contrôle d'action persistants enregistrent le déclencheur exact qui libère la prochaine action.
  • Les phases qui ne sont pas en attente exigent un déclencheur immédiat ; les phases en attente exigent un événement externe nommé, un moment, une dépendance ou une décision utilisateur.
  • Les objectifs en attente restent actifs, sans être exécutés prématurément ; les points de contrôle plus anciens restent lisibles.
9.1.413
  • Les réponses Telegram qui atteignent la limite de sortie du modèle ne sont plus remises comme débuts incomplets.
  • La même session en cours produit une reprise concise et complète et entreprend au plus trois tentatives de restauration avant de s'interrompre de manière sûre.
  • Une réponse explicite via l'outil Telegram garde la priorité et empêche la restauration, de sorte que les envois réussis ne sont jamais dupliqués.
9.1.412
  • Les objectifs persistants créés par le modèle commencent désormais atomiquement avec la révision 1 et un cadre de problème limité complet.
  • Le God Mode et le mode automatique poursuivent un démarrage d'objectif déjà autorisé sans seconde confirmation ; en mode manuel, l'approbation reste requise.
  • Un travail authentifié, non trivial et multi-étapes peut basculer sous une instruction autonome existante en mode d'objectif persistant ; les salutations, les demandes en une étape et les tâches vagues restent exclues.
9.1.411
  • Les tâches non triviales et inconnues peuvent désormais enregistrer un cadre de problème limité dans le point de contrôle d'action persistant.
  • Le cadre saisit les critères de succès, le savoir manquant, jusqu'à cinq actions possibles, l'action choisie avec justification, le choix du soutien, le risque et le chemin de repli.
  • Le cadre de problème survit à la reprise et au redémarrage exclusivement comme état descriptif et ne peut jamais accorder d'autorisations.
9.1.410
  • Les commandes de mémoire Telegram privées limitent désormais le périmètre de relations à la personne concernée.
  • Le focus de mémoire masque les relations des autres personnes et conserve le reste du contexte.
  • Les corrections et suppressions ne peuvent pas sélectionner la relation d'une autre personne ; le focus local de l'opérateur conserve la vue complète.
9.1.409
  • Les outils de réponse Telegram et le chemin de repli de la TUI utilisent désormais un répertoire canonique commun pour l'état du canal.
  • Les valeurs BLUN_HOME spécifiques au profil ne génèrent plus de second arbre de répertoires pour les entrées ou sorties Telegram.
  • Un BLUN_TELEGRAM_STATE_DIR explicitement défini reste déterminant ; sinon, les deux chemins utilisent ~/.blun/channels/telegram.
9.1.408
  • Les détails de relations confirmés ne sont fusionnés qu'après deux observations indépendantes dans des canaux directs.
  • Les messages rejoués restent idempotents ; les messages de groupe et les affirmations semblables à des autorisations restent exclus.
  • Les souvenirs relationnels privés confirmés peuvent suivre la même personne sur Telegram et dans la CLI, sans accorder de pouvoirs.
9.1.407
  • L'outil de réponse Telegram importe le chemin de l'historique d'entrée en cours utilisé par la détection des doublons.
  • Les réponses Telegram normales n'échouent plus avec l'erreur inboxLog is not defined.
  • Le chemin de repli séparé via le bridge reste disponible comme filet de sécurité de la remise.
9.1.406
  • Les tentatives de remise répétées d'événements Telegram privés avec le même horodatage et le même texte ne sont enregistrées qu'une seule fois dans la continuité des relations.
  • Une déclaration réellement répétée plus tard continue de faire partie de l'historique de relations limité.
  • Les indices de rappel explicites formulés naturellement en fin de phrase sont reconnus comme données de référence, sans accorder ni modifier d'autorisations.
9.1.405
  • La commande Telegram couplée /status signale désormais l'âge et le battement de cœur du processus de console, l'étape de travail actuelle ainsi que la tâche active, sans appeler le modèle.
  • L'arriéré de file mesure désormais les octets non lus à partir d'un point de contrôle lié au fichier de file actuel exact.
  • Le statut à distance reste en lecture seule et ne contient ni ID de chat, ni chemins de fichiers, ni identifiants de connexion, ni contenus de messages, ni listes de tâches complètes.
9.1.404
  • Un contenu inchangé de config.toml ne remplace plus le fichier privé existant.
  • La comparaison d'octets exacte est limitée aux fichiers ordinaires qui ne sont pas des liens symboliques.
  • Les cibles modifiées, manquantes, invalides et illisibles utilisent toujours le chemin d'écriture atomique existant, sûr contre les pannes.
9.1.403
  • L'ordre de priorité automatique des outils chargeables ignore les charges utiles de pièces jointes et de documents intégrées.
  • Chaque fragment d'intention est limité au budget de requête ToolSearch existant de 1 000 caractères avant l'alignement lexical.
  • Les instructions réelles, les pièces jointes et les requêtes ToolSearch explicites restent inchangées.
9.1.402
  • Les archives expirées de l'historique de compactage sont nettoyées une fois en arrière-plan au démarrage d'une commande King.
  • Le nettoyage au démarrage reste non bloquant et ne peut pas retarder le traitement normal des commandes.
  • Les erreurs de nettoyage sont journalisées proprement et n'interrompent pas la session en cours.
9.1.401
  • Le premier fragment de texte de chaque réponse en cours est désormais affiché immédiatement, au lieu d'attendre un rappel de minuteur.
  • Un nouveau tour et chaque nouveau segment de réponse d'assistant reçoivent chacun leur propre premier affichage immédiat.
  • Les fragments ultérieurs de texte, de réflexion et d'outils conservent le rythme de regroupement adaptatif qui protège les performances des longues sessions.
9.1.400
  • Les grandes sessions reprises sont désormais rendues de manière coopérative, afin que la TUI puisse redessiner et réagir pendant la restauration de l'historique.
  • Chaque enregistrement de rejeu enregistré de façon persistante continue d'être affiché ; aucune partie de l'historique n'est tronquée, sautée ou supprimée.
  • Les petites reprises conservent leur comportement habituel ; les grandes reprises rendent la main à la boucle d'événements tous les 30 enregistrements.
9.1.399
  • Les candidats d'apprentissage vérifiés sont désormais limités au projet Git actuel, au lieu de se retrouver dans des dépôts sans rapport.
  • Les checkouts HTTPS et SSH de la même origine utilisent une identité de projet anonyme commune.
  • Les URL de dépôt et les chemins de projet locaux ne sont jamais enregistrés dans les enregistrements de candidats d'apprentissage ; le travail en dehors de Git conserve le comportement existant à l'échelle du profil.
9.1.398
  • Les réponses Telegram purement textuelles sont désormais dédupliquées sur l'ensemble du chemin d'outil et des deux chemins de repli automatiques.
  • Une réponse identique ou presque identique n'est supprimée que si aucun message entrant plus récent n'est présent.
  • Les pièces jointes, les résultats différents et les réponses après un nouveau message utilisateur conservent leur comportement antérieur.
9.1.397
  • Les objectifs avec un critère de fin explicite exigent désormais un point de contrôle soutenu par le runtime avant la fin.
  • Si le contrôle de fin échoue, l'objectif reste actif et renvoie des indications concrètes de révision.
  • Les tours ordinaires et les objectifs sans critère de fin explicite conservent leur comportement antérieur.
9.1.396
  • Les requêtes naturelles peuvent pré-sélectionner dans le même tour jusqu'à deux schémas d'outils chargeables correspondant avec une haute fiabilité.
  • La sélection ne tient compte que de l'intention actuelle dans le canal et ignore le contexte Telegram obsolète.
  • Pour les requêtes faibles, ambiguës ou inconnues, ToolSearch reste disponible sans agrandir la quantité d'outils chargés de façon persistante.
9.1.395
  • Les travaux médias acceptés sont suivis de façon persistante, les requêtes ouvertes identiques sont réutilisées et les résultats achevés sont enregistrés après un contrôle de qualité, puis remis au chat concerné.
9.1.394
  • Un fournisseur de stockage versionné, activable volontairement, peut relier les tours CLI et portail à un flux d'événements cognitifs commun.
  • Le stockage SQLite local existant reste le réglage par défaut, sans nouvel accès réseau ni comportement d'exécution modifié.
  • Les chemins de fournisseur, les fonctions fabriques synchrones et la version 6 du contrat sont désormais vérifiés de manière sûre avant le démarrage du runtime et rejetés en cas d'écart.
9.1.393
  • Les démarrages interactifs avec king et king -c affichent de nouveau la sélection de mise à jour visible 1/2/3 dès qu'une version plus récente est disponible.
  • Le téléchargement de mises à jour en arrière-plan, l'activation en attente et le basculement automatique différé ont été supprimés.
  • Après une installation sélectionnée, king se termine pour un redémarrage manuel ; king -c reprend la dernière session avec la nouvelle version.
9.1.392
  • Les états intermédiaires incomplets d'une génération d'images ne sont plus envoyés comme mise à jour Telegram privée tant qu'aucun résultat média n'est présent.
  • Les descriptions d'erreur mesurées de GenerateImage et GetMedia sont masquées ; les remises médias achevées restent visibles.
  • Les conversations privées et les résultats demandés ordinaires restent inchangés.
9.1.391
  • La continuité de mémoire entre portails exige désormais un justificatif de liaison d'identité exact et actif du runtime de confiance.
  • Les noms similaires, les tenants ou identités sources divergents, les émetteurs incorrects et les justificatifs révoqués restent séparés les uns des autres et sont rejetés de manière sûre.
  • La version 6 du contrat d'adaptateur de mémoire prend en charge OAuth vérifié, les liaisons de compte sûres et les attributions d'identité explicitement confirmées, sans dériver d'autorisations des souvenirs.
9.1.390
  • L'enveloppe de mémoire commune enregistre désormais séparément l'horodatage de l'événement et l'horodatage d'arrivée.
  • Chaque nouvel événement cognitif reçoit explicitement une classe de conservation pour les données d'exploitation, les données persistantes, les relations ou les fins de contrôle.
  • La version 5 du contrat d'adaptateur de mémoire rejette les enveloppes d'événements incomplètes avant chaque écriture locale ou distante.
9.1.389
  • Les événements de mémoire saisissent le portail source et le canal source comme champs d'origine séparés et authentifiés.
  • Les chemins CLI, Telegram, runtime, personnalité, correction et révocation préservent le canal exact lors de l'enregistrement et du rejeu.
  • La version 4 du contrat d'adaptateur de mémoire rejette les écritures lorsque le canal source enregistré ne correspond pas au canal débloqué par l'autorisation.
9.1.388
  • Les lectures de mémoire ne renvoient plus que des observations issues de la plage de visibilité débloquée par l'autorisation, sauf si le chemin d'agent strictement interne est utilisé.
  • Les écritures, les contrôles d'événements et les opérations d'attention sont rejetés de manière sûre lorsque leur portée ou leur source authentifiée ne correspond pas au contexte d'accès actuel.
  • L'adaptateur SQLite local interroge les observations délimitées via un index de visibilité propre, au lieu de charger d'abord des souvenirs sans rapport.
9.1.387
  • Chaque opération d'un adaptateur de mémoire transporte désormais un contexte strict pour l'identité, le portail, le canal, la conversation, la portée et les autorisations.
  • Le contexte d'autorisation est vérifié en dehors de la charge utile de mémoire et n'est pas déposé de façon persistante comme contenu mémorisé.
  • La déduplication des événements est limitée au tenant et à l'agent. L'existence d'événements ne peut ainsi pas être détectée d'un tenant à l'autre.
9.1.386
  • L'état cognitif se trouve désormais derrière un contrat versionné pour les adaptateurs de mémoire, utilisé en commun par le cycle de vie du tour et le runtime de personnalité.
  • Le stockage d'événements SQLite existant reste le réglage par défaut. Les clients portail externes peuvent fournir le même contrat sans créer d'état propre au portail.
  • Les versions d'adaptateur non prises en charge et les implémentations incomplètes sont rejetées de manière sûre avant chaque opération de mémoire.
9.1.385
  • Les messages Telegram mis en file d'attente avant le démarrage de la session sont désormais libérés dès que la session est prête.
  • Les sessions en inactivité vident la file d'attente dans l'ordre FIFO normal ; les tours actifs déjà repris utilisent un pilotage limité.
  • Les points de contrôle persistants de la file restent inchangés jusqu'à ce que le message soit réellement accepté.
9.1.384
  • Les références aux images Telegram chargent désormais, dans le même tour, les outils de contrôle d'images et de génération d'images.
  • Les messages Telegram mis en mémoire tampon préservent l'intention média pour tout le lot en attente, au lieu de ne tenir compte que du dernier message.
  • Les chemins d'image locaux et les identifiants de fichiers Telegram choisissent le chemin de contrôle ou de téléchargement adapté, sans charger de façon persistante les schémas médias.
9.1.383
  • Les nouveaux résultats de Read restent désormais entièrement visibles pour l'étape de modèle qui les a demandés, au lieu d'être externalisés avant l'évaluation.
  • Les nouveaux résultats d'outils parallèles restent lisibles jusqu'à leur étape d'évaluation et ne peuvent être archivés qu'après être devenus historiques.
  • L'archivage des sorties historiques et l'économie de contexte restent actifs après la fenêtre protégée pour le travail le plus récent.
9.1.382
  • La commande /loop est désormais acceptée même pendant qu'une autre réponse est en cours.
  • Si une boucle est créée pendant un travail en cours, King l'enregistre et met en file sa première instruction, sans interrompre le tour actuel.
  • La création de boucle en inactivité ainsi que le comportement existant pour l'état, la pause, la reprise et l'arrêt restent inchangés.
9.1.381
  • Après une recherche ToolSearch définitivement infructueuse, l'outil ToolSearch est retiré de la liste d'outils active pour le reste de ce tour.
  • La reconnaissance de schéma réussie et le traitement des outils déjà chargés restent disponibles et inchangés.
  • Les recherches de synonymes répétées ne consomment ainsi plus de jetons supplémentaires après que le runtime a déjà attesté qu'aucune intégration appropriée n'existe.
9.1.380
  • Une erreur temporaire dans le pilotage du tour actif réactive désormais immédiatement le pilotage de remise Telegram, au lieu de laisser le message de groupe restauré attendre jusqu'à la fin du tour.
  • Les messages de groupe en attente continuent d'être remis même pendant un long travail ; l'ordre FIFO et la limite de quarantaine existante de trois tentatives sont conservés.
  • Aucune session en cours n'est interrompue ni redémarrée.
9.1.379
  • Les répétitions temporaires de la confirmation d'un pilotage de canal n'affichent plus de fausse erreur rouge, tant que le message reste récupérable dans la file d'attente.
  • Une erreur de remise visible n'apparaît qu'après que la troisième tentative échouée a archivé proprement la première entrée complète de la file.
  • Le comportement pour la répétition, la confirmation, l'archivage et l'ordre FIFO reste inchangé.
9.1.378
  • Lors de publications d'arrière-plan rapprochées, il existe désormais un seul statut remplaçable pour la mise à jour préparée, au lieu d'ajouter pour chaque version un nouveau composant de journal.
  • L'entrée pour la mise à jour préparée affiche toujours la version cible vérifiée la plus récente ; la session active reste intacte jusqu'à son redémarrage naturel.
  • L'indication de l'installation effective et du journal des modifications est conservée de façon persistante et inchangée. Le fait qu'il y ait moins d'entrées dans le journal ne masque donc aucune mise à jour activée.
9.1.377
  • Les tâches Telegram en attente reprennent désormais l'ID déterminant du tour actif depuis le noyau. Un statut TUI visible obsolète ne peut ainsi plus empêcher la confirmation d'un message accepté.
  • La commande de pilotage /loop est exécutée immédiatement pendant un travail en cours ; la confirmation persistante de la commande ne dépend plus d'une réponse de statut Telegram réussie.
  • Si la remise de la première entrée de file échoue trois fois, elle est archivée localement avec toutes les métadonnées de récupération avant que la file ne continue. Une entrée défectueuse ne bloque ainsi aucun message ultérieur.
9.1.376
  • Les grands résultats d'outils historiques sont enregistrés de façon persistante avant le compactage du contexte, de sorte que leur sortie complète reste récupérable même après le vidage de l'aperçu intégré.
  • Les références de résultats enregistrées survivent aux micro-compactages ultérieurs et conservent les métadonnées limitées nécessaires pour recharger la sortie d'origine.
  • La télémétrie d'externalisation signale les tailles et l'état de restauration, sans exposer les contenus de résultats ni les chemins privés.
9.1.375
  • Les messages directs Telegram privés et les commandes slash conservent la plus haute priorité de remise. Le travail de groupe explicitement adressé est ensuite mis en file FIFO avant l'arriéré normal ou non adressé.
  • Un transfert de mise à jour ne peut traverser une file non vide que si chaque entrée est un travail Telegram persistant, pas encore confirmé, avec un chemin de retour d'accusé de réception. Le travail local, mixte ou non persistant continue de bloquer.
  • L'indication pour les mises à jour préparées suit une langue d'interface de persona validée. Pour une langue pas encore validée comme locale TUI, seule l'information de version est affichée, au lieu de basculer dans une langue erronée.
9.1.374
  • L'indication pour une mise à jour préparée n'utilise plus de message allemand codé en dur, mais la traduction d'interface déjà validée de la langue active.
  • Les modes reprise et nouvelle session restent séparés ; le transfert de mise à jour, le retour arrière et la confirmation de doublons Telegram n'ont pas été assouplis.
9.1.373
  • Une mise à jour préparée en arrière-plan peut désormais reprendre la session en cours à une frontière sûre vérifiée. L'ID de session et le répertoire de travail sont conservés ; les outils en cours, les commandes shell, le compactage et les messages en attente empêchent le transfert.
  • Le superviseur n'active le nouveau runtime qu'après ses preuves loaded et ready. Si le démarrage échoue, l'ancien runtime est restauré avec la session exacte et le pending défectueux est écarté.
  • Les doublons Telegram déjà restaurés dans le registre de remise sont immédiatement acquittés lors du rejeu de la file. Ils n'attendent plus une étape de modèle qui, pour un doublon, ne démarre volontairement jamais, et ne bloquent ainsi plus les messages de groupe suivants.
  • Le focus de travail persistant porte désormais l'état de connaissance, le contexte de preuve, les corrections, les rétractations et la confiance d'un tour à l'autre. Aucun nouveau droit ni aucune nouvelle autorisation n'en découlent.
9.1.372
  • Les points de contrôle d'objectif persistants distinguent désormais verified, credible_unverified, hypothesis, uncertain_memory, stale et unknown. Les suppositions plausibles ne sont ainsi plus traitées comme un savoir assuré.
  • L'origine et l'état de connaissance sont vérifiés ensemble : les preuves d'outils du runtime ne peuvent compter comme verified qu'après une exécution d'outil réussie, pas les rapports externes. Les états reportés préservent leur statut antérieur et leur dernier justificatif de vérification.
  • Les anciens états de rejeu sans le nouveau champ restent lisibles comme legacy_unknown. Les nouveaux points de contrôle doivent nommer explicitement leur statut. Les droits, les autorisations et l'autorité restent inchangés.
  • La projection de contexte limitée nomme l'état épistémique en exactement une ligne, afin que l'agent en tienne compte à l'étape suivante, sans charger le budget de contexte de texte supplémentaire.
9.1.371
  • Réparation d'une erreur de câblage issue de 9.1.370 : la valeur evidenceBasis déjà enregistrée et projetée fait désormais aussi partie du schéma de sortie public strict GetGoal et ne se perd plus lors de la récupération.
  • Le schéma accepte les quatre types d'origine actuels ainsi que legacy_unknown pour les anciens états de rejeu. Les droits, les autorisations et l'autorité restent inchangés.
  • Un test de câblage ciblé et un mutant propre sécurisent la nouvelle connexion publique contre tout retour en arrière.
9.1.370
  • Chaque point de contrôle de travail récent nomme désormais explicitement sur quoi repose son dernier état attesté : appel d'outil de runtime réussi, déclaration utilisateur directe, rapport externe ou report inchangé.
  • runtime_tool n'est accepté que si le tour actuel contient au moins un appel d'outil autorisé par le runtime et terminé avec succès. carried_forward ne peut pas modifier le dernier état attesté. Les deux chemins s'interrompent fail-closed en cas de contradiction.
  • Les anciens points de contrôle enregistrés restent lisibles comme legacy_unknown. Le type d'origine est un état épistémique et ne crée ni droits, ni autorisations, ni autorité.
9.1.369
  • Un point de contrôle de travail persistant reçoit désormais automatiquement une preuve de runtime compacte à partir des appels d'outils déjà terminés du même tour. La preuve ne nomme que l'ID de tour, les nombres total, de succès et d'erreur ainsi qu'un digest court.
  • Les noms d'outils, les ID, les arguments, les commandes, les sorties, les chemins et le texte utilisateur ne sont pas écrits dans le point de contrôle. Une preuve vide reste honnêtement à zéro au lieu de simuler une mesure.
  • Seul un appel d'outil autorisé par la politique de runtime et terminé avec succès compte comme succès. Les preuves bloquées, échouées, interrompues ou fournies par le modèle ne créent aucune autorité.
9.1.368
  • Chaque point de contrôle de travail persistant porte désormais une révision monotone. Le premier accès en écriture commence à la révision 1 ; chaque accès suivant doit augmenter exactement d'un la révision actuellement projetée.
  • Un ancien tour parallèle ou une vue de canal obsolète ne peut plus écraser rétroactivement un état de travail attesté plus récent. Les révisions obsolètes, sautées et invalides s'interrompent fail-closed avant que l'état d'objectif ne soit modifié.
  • Les points de contrôle existants sans champ de révision sont traités de manière compatible comme révision 1 à la lecture. La révision est un état de travail et ne crée aucun droit ni aucune autorisation.
9.1.367
  • Le rappel d'objectif actif porte désormais directement le point de contrôle de travail persistant. King conserve ainsi la phase, le dernier état attesté, la prochaine action exacte et la preuve attendue, même lorsque l'adaptateur de mémoire cognitif supplémentaire n'est momentanément pas disponible.
  • La prochaine action exacte déjà planifiée est exécutée avant toute autre voie. Le point de contrôle n'est modifié que lorsque de nouvelles preuves changent réellement l'état confirmé.
  • Le repli n'est qu'une projection compacte du point de contrôle déjà vérifié. Il ne crée aucun droit, aucun nouveau champ de données et aucun redémarrage.
9.1.366
  • Les objectifs actifs peuvent désormais enregistrer un petit point de contrôle de travail persistant avec la phase, le dernier résultat attesté, la prochaine action exacte et la preuve attendue. Après une reprise ou un rejeu d'événements, King continue à cet endroit, au lieu de redemander la permission ou de recommencer depuis le début.
  • Une simple mise à jour de point de contrôle laisse l'objectif actif. Les objectifs en pause et bloqués restent inchangés ; une reprise ne remet que l'horloge d'exécution à zéro.
  • Le point de contrôle est strictement limité et ne contient que des informations de travail. Les champs inconnus, en particulier les indications de droits ou d'administration, s'interrompent fail-closed et ne peuvent créer aucune capacité.
  • Sans point de contrôle, le focus compact existant reste inchangé. Avec point de contrôle, seules les quatre observations de focus pertinentes sont complétées par l'état attesté ; le coût en jetons reste ainsi faible et constant.
9.1.365
  • Les messages directs Telegram privés et la CLI locale peuvent désormais lire, corriger ou supprimer directement le focus persistant avec /memory focus, /memory correct <id> <valeur> et /memory delete <id>. Ce chemin ne démarre aucun tour de modèle et ne consomme donc aucun jeton de modèle.
  • Les modifications Telegram sont liées à des ID utilisateur, chat et message positifs, à un vrai message direct privé, à l'horodatage du canal et à un ID de requête stable. Les groupes, les origines incomplètes et les répétitions modifiées s'interrompent fail-closed.
  • Le domaine, la clé et la portée sont toujours dérivés du justificatif d'objectif actif et ne peuvent pas être introduits par l'appelant. Les corrections et les marqueurs de suppression (tombstone) restent append-only, préservent l'historique et n'accordent aucun droit.
  • La sortie de focus est limitée pour Telegram à huit entrées et moins de 3 500 caractères ; le nombre total reste visible.
9.1.364
  • Le cycle de vie cognitif en cours peut désormais corriger un focus persistant via correctFocusObservation et le supprimer via withdrawFocusObservation. Les deux chemins continuent d'écrire append-only dans le même flux d'événements lié au tenant et à l'agent.
  • Une révision n'est admissible qu'avec les attestations runtime_user_prompt_hook et explicit_user_request. Un instantané de modèle normal ne peut ni dériver ni introduire de correction ou de suppression.
  • Chaque révision porte un ID de requête stable ainsi que le portail, l'acteur, le contexte, le message et l'horodatage. La répétition identique est idempotente ; le même ID de requête avec un contenu modifié et les révisions antidatées s'interrompent fail-closed.
  • La correction puis la suppression laissent l'historique complet inchangé. Après la suppression, le fait n'apparaît plus dans le prompt et ne consomme aucun jeton de contexte. La mémoire ne peut toujours pas accorder de droits.
9.1.363
  • Une suppression confirmée est désormais enregistrée comme marqueur de suppression (tombstone) append-only. Le contenu antérieur est conservé dans l'historique d'audit et dans la chaîne de hachage, mais disparaît entièrement de la projection de contexte effective.
  • Les anciens événements de reprise, de transcript ou de file avec un horodatage antérieur à la suppression ne peuvent pas réactiver le contenu retiré. Un ancien état rejoué plus tard n'est ainsi pas traité comme une nouvelle vérité.
  • Une information volontairement redonnée après l'horodatage de suppression peut être réapprise. Le marqueur de suppression (tombstone) bloque donc les anciennes preuves, pas l'évolution future.
  • Les suppressions concernant des tenants, agents, domaines, clés ou portées externes, avec une cible manquante, une faible confiance ou une valeur de marqueur de suppression (tombstone) erronée, sont rejetées transactionnellement. Les bases de données existantes migrent en place.
  • Un fait supprimé ne génère aucune ligne de prompt et ne consomme donc aucun jeton de contexte.
9.1.362
  • Une correction confirmée peut désormais remplacer explicitement exactement une observation antérieure dans la même zone de tenant, agent, domaine, clé et portée. L'ancienne entrée est conservée append-only dans l'historique d'audit.
  • La vue effective charge la valeur corrigée et la marque comme corrected ; la valeur remplacée n'est plus projetée comme conflit actuel.
  • Les cibles manquantes, les portées ou clés étrangères et les corrections dont la confiance est inférieure à 1 sont rejetées transactionnellement.
  • Les états SQLite existants reçoivent la nouvelle colonne de relation à l'ouverture, sans perdre leur flux ou leur version actuels.
9.1.361
  • Des déclarations personnelles ou d'équipe également crédibles avec la même portée et la même clé ne sont plus émises comme vérité selon le principe « le plus récent gagne ». La projection marque brièvement le conflit et demande une clarification, sans déverser les deux contenus dans le contexte.
  • Si une déclaration est plus forte d'au moins 0,2 point de confiance, elle reste utilisable, mais est marquée comme contestée. Une affirmation ultérieure plus faible ne peut plus masquer un état confirmé.
  • Les confirmations identiques sont regroupées en un seul point de focus. Les champs canoniques d'objectif et de progression restent révisables.
  • L'historique d'événements append-only reste inchangé ; les autorisations ne peuvent toujours pas découler de la vue effective.
9.1.360
  • L'état /goal déjà canonique est projeté comme focus de travail persistant dans le flux d'événements cognitifs : objectif, statut, prochain déclencheur et preuve de succès attendue.
  • Le même focus reste idempotent d'un redémarrage du runtime à l'autre. Un état d'objectif inchangé ne génère aucun événement ni observation en double.
  • Les compteurs d'utilisation, le budget de temps et les autorisations ne sont pas copiés dans le focus. Sans objectif actif, aucun jeton de focus supplémentaire n'est chargé.
  • La projection relie la portée d'objectif adaptée à la portée de relations privées du tour actuel ; elle ne crée aucun droit.
9.1.359
  • La mémoire de personnalité et les vrais tours CLI utilisent désormais le même flux d'identité de tenant et d'agent issu de identity/manifest.json ; sans identité complète, le chemin de repli haché compatible est conservé.
  • Les tours Telegram directs ne projettent que la zone de relations privées de l'interlocuteur actuel. Les groupes et les relations étrangères ne fournissent aucun jeton de focus privé.
  • La sélection de portée est imposée avant le classement ; une connaissance plus récente issue d'une portée étrangère ne peut plus masquer une entrée adaptée.
9.1.358
  • Une erreur réseau pendant la préparation automatique de mise à jour n'était signalée qu'à un rappel d'erreur optionnel. Sans nouveau sondage, le King en cours restait sur son état, alors que la session elle-même continuait de fonctionner normalement.
  • Le lanceur écrit désormais un événement limité prepare-failed avec l'état de version ainsi qu'un nom et un code d'erreur sûrs dans handoff.jsonl.
  • Ensuite, une nouvelle tentative de préparation est planifiée exactement dix secondes plus tard. Le noyau en cours n'est ni terminé ni rechargé.
  • Les erreurs d'écriture de l'événement de diagnostic restent fail-soft ; les jetons, le texte du message et les autres secrets ne sont pas journalisés.
9.1.357
  • Les accès répétés au même prompt système effectif ne reconstruisent plus à chaque accès la grande chaîne de caractères composée de la base et de l'annexe de runtime.
  • Le résolveur conserve exactement une combinaison actuelle base/annexe et l'invalide immédiatement dès que l'une des deux valeurs d'entrée change.
  • Le prompt vide, la base seule, l'annexe seule et la séparation existante par deux sauts de ligne sont conservés octet pour octet.
9.1.356
  • Les prompts système inchangés ne sont comptés qu'une seule fois caractère par caractère pour le budget de contexte, sur des étapes de modèle répétées.
  • Le cache est limité à quatre entrées, au plus 500 000 caractères par prompt et 1 000 000 de caractères conservés au total.
  • Les prompts modifiés continuent d'être recomptés ; l'affichage de contexte, le budget de compactage et le budget de requête utilisent la même valeur actuelle.
9.1.355
  • Les configurations de requête LLM inchangées ne resérialisent plus leurs schémas d'outils à chaque étape de modèle uniquement pour le journal de configuration.
  • Le modèle, l'alias, le niveau de réflexion, le prompt système et la séquence d'outils sont comparés au dernier état complet.
  • Les modèles, prompts, noms d'outils, descriptions ou schémas de paramètres modifiés rouvrent toujours le journal de configuration de manière ciblée.
9.1.354
  • Les schémas d'outils inchangés ne sont plus sérialisés qu'une seule fois par objet d'outil et comptés pour le budget de contexte.
  • Un inventaire avec 403 outils n'est ainsi plus intégralement recompté à chaque contrôle de requête répété.
  • Les modifications du nom, de la description ou de l'objet de paramètres invalident de manière ciblée uniquement l'entrée de cache de l'outil concerné.
9.1.353
  • Les fragments d'arguments des outils de l'essaim d'agents continuent d'être parsés immédiatement et repris dans l'état de progression, mais partagent désormais le minuteur de rendu adaptatif.
  • Un grand appel d'outil en flux ne déclenche ainsi plus un rendu TUI complet pour chaque fragment d'argument.
  • Le début, la fin, l'erreur et l'abandon suppriment les minuteurs d'essaim ouverts avant leur rendu immédiat final.
9.1.352
  • Les fragments d'assistant et de réflexion d'un essaim d'agents continuent de mettre à jour l'état de progression immédiatement, mais partagent un minuteur de rendu adaptatif.
  • Une rafale de fragments ne déclenche ainsi plus un rendu TUI complet pour chaque delta.
  • Les événements d'essaim discrets et le nettoyage de la progression suppriment les minuteurs ouverts avant leur rendu final immédiat.
9.1.351
  • Les fragments d'assistant et de réflexion dans la fenêtre BTW/agent sont enregistrés immédiatement dans le tour, mais partagent un minuteur de rendu adaptatif.
  • Le contrôleur ne demande plus de rendu complet supplémentaire par fragment pour ces deux types de delta.
  • La fin, l'erreur, la nouvelle tentative et le dispose suppriment les minuteurs ouverts ; les événements discrets de hook et de fin restent immédiatement visibles.
9.1.350
  • ToolCallComponent.appendSubToolLiveOutput reprend les chunks stdout et stderr immédiatement dans l'état d'activité, mais ne reconstruit la carte de sous-agent qu'au rythme de streaming adaptatif.
  • Un ensemble de pending commun traite plusieurs sous-outils exécutés simultanément sans sortie perdue ni minuteur par chunk.
  • La fin d'un outil supprime son rafraîchissement ouvert avant l'affichage final ; dispose jette proprement minuteurs et ensemble de pending.
9.1.349
  • ToolCallComponent.appendSubagentText collecte immédiatement dans l'état interne les fragments de texte et de réflexion qui arrivent rapidement, mais ne reconstruit la carte de sous-agent qu'au rythme de streaming adaptatif.
  • La fin et l'état d'erreur vident un rafraîchissement de texte encore ouvert avant l'affichage final ; dispose jette proprement le minuteur.
  • Les octets entrants restent ainsi immédiatement disponibles, tandis que les reconstructions complètes, instantanés et rendus répétés disparaissent lors des rafales de fragments.
9.1.348
  • Les arguments croissants des sous-agents et des sous-outils continuent d'être collectés immédiatement et intégralement, mais ne sont plus reparsés et rendus après chaque fragment individuel.
  • Un minuteur adaptatif regroupe l'actualisation de l'aperçu. À la fin, les arguments en attente sont impérativement rejoués avant l'état d'outil final.
  • L'exécution des outils, les approbations, les arguments finaux et le chemin de streaming normal existant restent inchangés.
9.1.347
  • Le chemin d'événements appelait getStreamingToolCallPreview immédiatement après chaque delta d'argument d'outil entrant. Cette fonction analyse l'intégralité du texte JSON reçu jusque-là.
  • L'appel avait aussi lieu pour les outils normaux, bien que seul AgentSwarm ait besoin de l'état intermédiaire immédiatement parsé pour son affichage de progression en cours. Le chemin normal contournait ainsi partiellement la cadence d'aperçu limitée introduite dans 9.1.346.
  • Une petite politique pure décide désormais avant le parse : les outils normaux ne collectent que le delta et parsent au flush d'aperçu planifié ; AgentSwarm continue de parser immédiatement selon le nom d'événement, le nom d'outil actif ou une progression d'essaim existante.
  • L'exécution des outils, les approbations, les arguments finaux et l'affichage d'essaim restent inchangés.
9.1.346
  • 9.1.345 limitait les rendus plein texte pour les longs flux de réponse et de réflexion ; les flux d'arguments d'outils purs n'avaient cependant aucun de ces deux brouillons de texte et restaient donc à des 50 ms fixes.
  • Chaque aperçu d'outil analyse l'intégralité du texte JSON reçu jusque-là. Les grands appels d'outils pouvaient donc continuer de reparser et de rendre très souvent toute la charge utile.
  • La cadence adaptative déjà attestée tient désormais aussi compte du nombre total de caractères des arguments d'outil en flux actifs : 50, 100, 250 ou 500 ms selon les mêmes limites.
  • L'exécution des outils, les arguments, les approbations, l'aperçu final et les flushs immédiats de fin restent inchangés.
9.1.345
  • La TUI reconstruisait jusqu'ici, pendant le streaming, toutes les 50 ms, le texte de réponse et de réflexion intégralement accumulé. Pour les longues réponses de modèle, la quantité de texte à rendre à chaque passage augmentait ainsi fortement.
  • Les flux courts jusqu'à 8 192 caractères conservent la cadence réactive antérieure de 50 ms. Au-delà, l'intervalle augmente par paliers à 100 ms jusqu'à 32 768, 250 ms jusqu'à 131 072 et 500 ms au-dessus.
  • Les flushs explicites aux frontières d'outils et lors de la finalisation restent immédiats. La logique de fournisseur, de file, de session et de jetons n'a pas été modifiée.
9.1.344
  • La couche runtime cognitive écrivait jusqu'ici, pour chaque appel d'outil, la politique et le résultat dans deux transactions SQLite synchrones séparées.
  • Un test de coûts Windows isolé avec 100 appels d'outils a nécessité pour cela 627,63 ms et a généré 201 événements. Le contenu comprenait 305 observations.
  • Les paires politique/résultat achevées d'une étape de modèle sont désormais validées atomiquement en groupes limités d'au plus dix outils. Les contrôles de politique interrompus ou encore ouverts continuent d'être sauvegardés individuellement à la fin du tour.
  • Les arguments, les sorties, la décision de droits, la chaîne de hachage et la durabilité SQLite restent inchangés.
9.1.343
  • Une réponse Telegram privée avait déjà été remise avec succès via l'outil Reply. Pourtant, le même tour de modèle a ensuite encore démarré une étape supplémentaire et a généré du texte interne de statut et de contrôle de travail.
  • L'étape supplémentaire a coûté, dans la session réelle mesurée, 42 360 jetons d'entrée et 411 jetons de sortie, alors que la réponse utilisateur visible était déjà envoyée.
  • Une réponse Telegram réussie termine désormais immédiatement un tour de conversation privé marqué comme direct. Les réponses échouées, les groupes et les autres outils continuent de s'exécuter inchangés.
  • Une fois le tour terminé, le contrôleur de focus direct existant continue de s'appliquer : il mémorise la réponse remise et revient au travail d'arrière-plan enregistré à la fin de la conversation ou après une période de calme.
9.1.342
  • La requête de pertinence pour Mistake.md reprenait jusqu'ici chaque message avec le rôle user. Cela incluait aussi les injections internes, les résumés de compactage, les activations de skills et les rapports d'arrière-plan.
  • Comme le rappel Mistake est lui-même enregistré comme message interne user, il modifiait sa propre requête de recherche après chaque étape d'outil. Il était ainsi resélectionné et réinjecté dans le même tour.
  • Le filtre n'utilise désormais plus que les saisies utilisateur et cron pertinentes pour l'action. Les textes internes du runtime sont exclus de la requête de pertinence et de la détection de faible information.
  • Les vrais messages des utilisateurs, le travail planifié, toutes les leçons vérifiées et la reconstruction après compactage restent disponibles sans changement.
9.1.341
  • Au démarrage naturel, le lanceur trouvait un runtime automatique déjà préparé et vérifié localement, mais le faisait pourtant passer d'abord par l'avis de mise à jour dépendante du réseau. Si ce second appel échouait temporairement, l'ancienne version globale redémarrait.
  • Un runtime automatique préparé dont le mode correspond exactement (resume ou new) est désormais démarré avant la nouvelle récupération des versions publiées. L'activation reste transactionnelle : le runtime n'est comptabilisé comme actif qu'une fois le nouveau noyau chargé avec succès.
  • En mode resume, l'ID de session et le répertoire de travail sont conservés. La sélection manuelle de mise à jour passe toujours par le mécanisme d'avis existant.
  • Aucun King en cours n'est terminé. Le correctif n'agit que lors du prochain démarrage naturel.
9.1.340
  • Le lanceur écrivait les mises à jour réussies dans .blun/updates/install.json, tandis qu'un runtime de profil cherchait dans .blun/profile/<nom>/updates/install.json. Le vrai chemin de profil n'existait pas ; c'est pourquoi notifiedAt restait null dans l'état partagé.
  • Les runtimes de profil lisent désormais le succès de mise à jour depuis BLUN_SHARED_HOME et ne retombent sur l'ancien BLUN_HOME que sans chemin commun.
  • Après le prochain démarrage naturel, la TUI peut afficher une fois la version et jusqu'à trois notes de version. Les destinataires Telegram privés configurés reçoivent le même texte court sans tour de modèle et sans consommation de jetons.
  • L'installation, le staging, l'activation et la règle « ne jamais éjecter une session en cours » restent inchangés.
9.1.339
  • Les étapes de suivi d'outils réussies avec un faible effort utilisent au plus 4 096 jetons de complétion au lieu des 8 192 précédents.
  • Les premières étapes, les tâches complexes et les étapes de suivi d'erreurs conservent leur capacité de réflexion et de sortie configurée. L'intervention n'est pas une limite globale de modèle ou de contexte.
  • La mesure rétrospective sur 1 442 étapes réelles à faible effort d'un profil d'agent a donné : 2 118 588 jetons de sortie au total, médiane 791, p90 3 754, p95 5 485. Avec la nouvelle limite, 229 761 jetons, soit 10,8 %, auraient été économisés ; 91,1 % des étapes mesurées restent inchangées.
9.1.338
  • Les simples relances comme Puis-je continuer mon travail ? ne sont plus envoyées dans les conversations Telegram privées.
  • La narration interne de file, de transfert, de lane et d'état d'attente reste hors de la réponse privée. Les vrais résultats de travail et les réponses personnelles normales peuvent toujours être remis.
  • Si une réponse exploitable ne se termine que par une nouvelle question d'autorisation de poursuivre, seule cette question finale est supprimée.
  • Le routage de groupe et les sessions en cours restent inchangés.
9.1.337
  • profile/<nom>/SOUL.md est le chemin d'identité canonique d'un King.
  • Une ancienne âme nommée correspondante ne remplace qu'un squelette de profil généré et inchangé. Les âmes de profil développées ne sont jamais écrasées.
  • Avant l'import de l'ancienne âme, le squelette généré est sauvegardé comme SOUL.md.pre-legacy-import.
  • TGZ-SHA256 : A50947748BE702FA331D19ABFD08E5F13080B207324F05281815D3446230B608.
  • npm-shasum : 221c4b2ac5083e4d63e25a8543f06ba66f2bbb28.
  • npm-integrity : sha512-qna0Bh2EccxXs+7ctK+NxP8XCYBE5CyxkZSJcHYq4G92ERNwujIWfNzmR24Yi9xlRxev/vOcW3HUW2OPyePpNg==.
9.1.336
  • Les sessions interrompues normalisent leur état de rejeu avant que d'autres travaux Telegram ne soient remis.
  • Si la remise à un tour actif est refusée, le message est replacé dans un nouveau tour de file au lieu de retenter la même injection toutes les cinq secondes.
  • Les points de contrôle de focus DM conservent les minuteurs de reprise automatiques et les pauses explicites d'une mise à jour à l'autre.
  • TGZ-SHA256 : 57E6581AA95FEE1BD4CD12671F62A316B707106C59B2915A8385424B163C6E76.
  • npm-shasum : bd910c38e17b1b6dc6be2f965bdee5fe90e22084.
  • npm-integrity : sha512-xjwxBcTVo3KS+ATnxhVozRD4JzUqoJNAbiLeH30ZucpkTxuB4kfGK/GQ+eZqJDIJW2TtODg8yWw9DuLdP73UDA==.
9.1.335
  • Un message Telegram privé normal n'interrompt la mission en cours que le temps de la conversation. Ensuite, après 60 secondes, King reprend automatiquement le travail exactement là où il a été sauvegardé, sans redemander la permission.
  • Une fin de conversation explicite fait reprendre la mission immédiatement. Seules les demandes utilisateur claires comme pause, pausiere, stop, stopp, warte ou halte an maintiennent la mission en attente jusqu'à ce que l'utilisateur la libère à nouveau.
  • Les termes internes et les rapports d'état sur le cron, le point de contrôle, la file ou la lane sont masqués dans les réponses privées normales. Le travail de fond et son état enregistré restent inchangés.
9.1.334
  • La préparation automatique en arrière-plan ne subit plus de famine lors d'une succession rapide de versions. Le délai de 30 minutes appliqué jusqu'ici se rapportait toujours à la version la plus récente ; avec des versions à la minute, aucune version ne devenait jamais assez ancienne pour être préparée.
  • Une version cryptographiquement conforme est désormais immédiatement chargée, soumise à un contrôle d'intégrité, installée de manière isolée, sondée syntaxiquement et marquée comme runtime en attente.
  • La session King en cours n'est toujours pas terminée. L'activation et la reprise restent exclusivement liées au prochain démarrage, via le chemin protégé existant. Cette version ne modifie ni la logique de transfert ni celle de session.
9.1.333
  • Une capture d'écran en direct attestait, après 9.1.331, une ERR_MODULE_NOT_FOUND dans le plugin Telegram géré.
  • L'import du plugin pointait, depuis l'arbre géré isolé, vers un fichier noyau qui n'y avait pas été installé.
  • Le gigantesque texte de répétition également mesuré circulait dans le flux de réflexion visible. Le verrou de répétition en direct existant ne contrôlait jusqu'alors que les deltas de réponse.
  • 9.1.332 n'a pas été basculé dans le manifeste public après le constat du plugin. 9.1.333 remplace entièrement ce candidat npm.
9.1.332 Non publiée
  • Non publiée. Un import de plugin pointait depuis l'arbre isolé vers un fichier noyau non fourni ; 9.1.333 a entièrement remplacé le candidat npm.
9.1.331
  • Les conversations Telegram privées conservent les réponses naturelles et les résultats de travail demandés.
  • Les doubles messages internes mesurés sur les travaux en pause, les réponses déjà envoyées, les tours en cours, l'état des outils et l'absence de besoin d'action ne sont masqués que dans les chats privés.
  • Un message n'est filtré que s'il contient à la fois du contexte de runtime interne et explicitement aucune valeur nouvelle pour l'utilisateur.
  • Le routage de groupe, les vrais messages de fin et la conversation courte normale restent inchangés.
9.1.330
  • Le fichier source complet de l'âme de chaque King est conservé inchangé.
  • Le contexte du modèle en reçoit une projection de caractère limitée avec l'identité, la voix, les valeurs, les relations, les préférences, les objectifs et l'histoire construite au fil du temps.
  • Les sections clairement identifiables de mission, de lane, de droits, de QA, d'outils, de commandes, de vérification, d'incidents, de logs, de runtime, de mise à jour, de déploiement et de build ne sont plus chargées comme personnalité dans chaque prompt.
  • Les âmes courtes, purement consacrées au caractère, restent identiques octet pour octet. Les sections non techniques inconnues restent visibles dans leur ordre.
  • Aucun fichier d'âme n'est supprimé, raccourci ou réécrit automatiquement.
9.1.329
  • Chaque profil King nommé utilise son propre nœud d'agent dans le noyau d'identité commun. Les relations, l'historique et les données de personnes apprises ne sont plus rattachés par erreur au premier agent configuré.
  • Les fichiers d'âme nommés existants comme _agent-a_soul.md, _agent-b_soul.md ou _agent-c_soul.md sont attribués au profil correspondant et repris une fois octet pour octet dans SOUL.md.
  • L'ancien fichier source est conservé inchangé. Un SOUL.md de profil existant n'est jamais écrasé.
  • La sélection de persona et le mode personnalité lisent les données propres au profil. Une persona de profil cassée, trop grande ou liée ne se rabat pas silencieusement sur l'identité d'un autre agent.
  • Le noyau commun reste utilisable sans que Mnemo soit requis. Les missions en cours, les droits et les règles QA ne sont pas modifiés par cette migration.
9.1.328
  • La persona et SOUL.md sont d'abord chargées depuis le profil actif.
  • Les profils nommés n'héritent jamais de l'âme d'un autre agent depuis le home commun.
  • Les profils legacy et par défaut conservent le repli commun existant.
  • Si un fichier d'âme propre manque réellement, un squelette minimal est créé une seule fois ; les fichiers existants ne sont jamais écrasés.
  • Le système d'identité et de relations reste basé sur les fichiers et fonctionne sans que Mnemo soit requis.
9.1.327
  • Les conversations Telegram privées restent centrées sur la personne : les rapports internes de file, de point de contrôle, de pause, de cron, de hook et d'inactivité sont masqués sur les deux chemins d'envoi, tant qu'aucun état de travail n'est demandé, qu'aucune décision n'est nécessaire et qu'aucun blocage pertinent n'est survenu.
  • Les états de travail techniques vont au canal d'équipe compétent. Ils ne sont pas copiés une nouvelle fois dans la conversation privée.
  • Les boucles de répétition exactes du modèle sont reconnues pendant le flux. Le flux de fournisseur en cours est terminé et la même étape est retentée exactement une fois avec le contexte de mission conservé.
  • L'âme, le savoir sur les personnes, les droits, les missions en cours et la pause de focus direct existante n'ont été ni remplacés ni supprimés. Aucune TUI en cours n'a été redémarrée.
9.1.326
  • Les modes d'autorisation manuels et automatiques transmettent en miroir les demandes d'approbation d'outils, sous forme d'un nombre limité de boutons, au DM Telegram privé associé sans ambiguïté.
  • Seuls le nom d'outil et les textes de sélection existants sont transmis ; les arguments, les descriptions et les secrets restent locaux. Les approbations expirées, émanant d'autres sources ou auxquelles on a déjà répondu localement sont rejetées (fail-closed).
  • Le God Mode reste entièrement autonome et ne génère aucune approbation Telegram.
  • Les états de travail techniques sont routés vers le collègue compétent et ne sont plus recopiés dans la conversation privée de l'utilisateur.
9.1.325
  • Le God Mode exécute les écritures de mémoire personnelle sans deuxième demande d'approbation ; le consentement existant lié à la session et au tour est conservé.
  • Une instruction Telegram explicite de mémorisation active le même consentement étroitement limité qu'une instruction console directe. Les modes d'autorisation manuels et automatiques demandent toujours avant l'écriture.
  • Le journal de mise à jour enregistre si une installation a été déclenchée manuellement, automatiquement ou via la boîte de dialogue de démarrage.
9.1.324
  • La première interaction de confiance avec un bot le crée localement comme nœud d'agent et de relation. Le rôle, les responsabilités, les particularités, la collaboration et le transfert peuvent ensuite se développer de manière structurée.
  • Chaque King projette un aperçu compact de ses collègues dans son contexte. Il connaît ainsi les tâches et particularités d'autres agents, sans charger en bloc l'ensemble des données relationnelles.
  • Si une information critique pour la mission manque, on ne devine pas : le King demande exactement une fois à la personne ou à l'agent le plus adapté. Si aucune responsabilité n'est connue, il demande à l'utilisateur au lieu d'inventer un nom.
  • Les relations et les rôles ne créent jamais de droits. Les champs d'autorisation, d'ACL et de secret ne sont pas projetés dans l'extrait de collègue. Le chemin est local, lié au tenant, neutre en noms, indépendant de Mnemo et n'ajoute ni appel de modèle ni appel d'outil.
9.1.323
  • Les conversations privées répondent de nouveau à la personne au lieu de divulguer volontairement des données de processus internes. Les points de contrôle, hachages, chemins, diagnostics d'outils, de cron et de hooks, les règles cachées, les missions d'autres agents et les rapports d'inactivité restent internes.
  • L'état du travail n'est nommé que si l'utilisateur le demande, si sa décision est nécessaire ou si un blocage le concerne concrètement. Le travail en pause reste interne et n'est pas porté dans une conversation informelle.
  • La règle vaut avec et sans mode de personnalité, ne contient aucune personne ni agent codé en dur et ajoute environ 75 jetons de prompt, mais aucun appel de modèle ni d'outil. La priorité des tâches et l'obligation de preuve restent inchangées.
9.1.322
  • L'interrupteur de personnalité visible écrit désormais persona.json atomiquement. Le nom, la langue, les notes et tous les autres champs de persona existants sont conservés ; seul personalityEnabled est modifié.
  • SOUL.md, AGENTS.md, JOURNAL.md et les fichiers de relations ne sont écrits ni à la désactivation ni à l'activation. L'identité d'agent normale basée sur SOUL reste chargée dans le contexte système même lorsque la fonction de personnalité est désactivée.
  • Un rafraîchissement en direct échoué rétablit la sélection précédente à l'octet près. Si un autre processus a modifié persona.json en parallèle, le repli s'interrompt avec PERSONALITY_CHOICE_CONFLICT et n'écrase rien.
  • Les symlinks, les fichiers de persona surdimensionnés, invalides ou qui ne sont pas des objets JSON sont rejetés fail-closed. À l'activation, l'arbre d'identité est préparé avant le commit.
  • Ne fait pas partie de cette version : l'erreur, attestée ensuite, d'un agent qui divulguait des points de contrôle internes, des règles de cron, des SHA et des détails de missions d'autres agents dans des conversations privées. Ce filtre de sortie est le prochain chantier séparé.
9.1.321
  • Un premier échange privé détendu ou une indication personnelle volontaire peut placer exactement une occasion de curiosité optionnelle dans le contexte du modèle. Ce n'est pas une question obligatoire ; le choix des mots et le ton proviennent toujours du fichier SOUL.md chargé, pas d'un catalogue de questions fixe.
  • La mission, l'urgence, les erreurs, les liens, le code, les chemins et le trafic de groupe bloquent la curiosité (fail-closed). Elle n'envoie jamais de sa propre initiative et ne doit pas interrompre le travail en cours.
  • Un délai de carence de 30 jours s'applique par tenant, agent et personne liée, y compris sur l'ensemble des portails. La même nouvelle tentative d'événement est idempotente.
  • Le nouvel état n'est plus stocké sous forme de fichier de curiosité spécifique à Telegram dans l'arbre d'identité. Un personality-memory-adapter interchangeable écrit à la place un événement versionné dans le store cognitif transactionnel existant. Telegram est l'origine ; la relation privée est une portée de visibilité séparée.
  • Seuls le thème, l'identifiant stable d'événement/source, l'horodatage et la portée privée sont enregistrés. Le texte brut, les questions fixes, les revendications de droits et les secrets ne sont pas repris. Les racines incertaines, les champs non prévus et la panne du store restent fail-closed.
  • La base de la frontière de portail était le document conceptuel interne v7. La CLI est le client de référence ; le store local est explicitement marqué comme projection interchangeable et n'est pas un second stockage de portail canonique.
9.1.320
  • Les fils de conversation privés, explicites et ouverts sont enregistrés comme événements immuables et dédupliqués avec la source, l'horodatage, le contexte et la confiance. Les formulations naturelles comme Redemande-moi demain pour ... sont reconnues tout comme la forme explicite de fil ouvert.
  • Les indications de réparation explicites sont enregistrées séparément des notes de relations générales et sont prises en compte dans le comportement ultérieur.
  • Le tour actuel ne voit volontairement pas encore sa propre nouvelle note. Seul un tour privé ultérieur reçoit le contexte limité ; il n'y a ainsi aucune auto-confirmation redondante ou suggestive.
  • La mission et les instructions explicites passent avant le contexte social. Les fils ouverts ne doivent pas interrompre le travail actif et n'envoient jamais de leur propre initiative. Les données de relations ne peuvent créer aucun droit, aucune approbation ni autorisation.
  • Le trafic de groupe, les secrets, les formulations d'autorisation, les chemins incertains, les symlinks et les fichiers surdimensionnés restent exclus fail-closed.
9.1.319
  • Un profil existant valide sans valeur personalityEnabled enregistrée active désormais automatiquement la personnalité.
  • Au premier prompt normal, l'arbre d'identité local est créé avec le profil d'agent et JOURNAL.md, même sans Mnemo.
  • Un false, 0 ou off explicite reste désactivé. Les fichiers de persona endommagés, liés symboliquement et trop grands restent fail-closed.
  • SOUL.md et AGENTS.md ne sont ni supprimés ni réécrits.
9.1.318
  • Le programme de mise à jour en arrière-plan charge impérativement la version la plus récente, contrôle son intégrité SHA-512 publiée indépendamment et la programme pour le prochain démarrage.
  • Le King en cours, son tour et ses appels d'outils restent intacts. Il n'y a plus de transfert en direct, d'ACK ni de tui.stop(76).
  • L'ID de session et le répertoire de travail sont enregistrés avec le runtime préparé. Ce n'est qu'au prochain démarrage naturel que la nouvelle version est activée et la session exacte automatiquement reprise.
  • La TUI en cours reçoit au plus un message de fin passif ; une version préparée plus récente ne remplace que la programmation, jamais le processus actif.
9.1.317
  • Si le fournisseur consomme tout le budget de réponse avec une fin length, mais ne livre aucun texte visible, le budget de nouvelle tentative n'est plus réduit à un huitième, mais doublé.
  • La nouvelle tentative reste dans le même tour et utilise le même signal, le même historique de messages et la même situation de travail.
  • Le traitement d'interruption existant et le nombre limité de nouvelles tentatives restent inchangés. Les interruptions manuelles ou les résultats vides persistants ne tournent pas indéfiniment.
9.1.316
  • Les DM Telegram privés reçoivent leur propre piste de file directe avant le travail de groupe, de boucle et d'arrière-plan ; un /urgent explicite conserve toujours la priorité la plus haute.
  • Au début de la conversation DM, l'état de travail en cours est sauvegardé une fois comme point de contrôle limité. Le texte du message n'est pas persisté.
  • Après une fin de conversation reconnue ou une minute de silence, King demande exactement une fois : Puis-je continuer mon travail ?
  • Le travail enregistré reste en pause et n'est repris qu'après un consentement univoque, au point de contrôle d'origine.
  • La version livre le pilotage de remise et de pause. Le système complet de personnalité, de relations et de journal reste un chantier séparé, en cours de développement.
9.1.315
  • Les signaux d'attention autorisés parviennent désormais au tour via la file de canal normale, sans contourner la politique de remise ou de droits existante.
  • Les signaux en double, obsolètes, non autorisés, hors périmètre et non issus de Telegram sont rejetés avant le contexte du modèle.
  • Les demandes de clarification restent limitées à au plus une question naturelle, sont dédupliquées et se taisent lorsque le signal n'est plus d'actualité.
  • La version ne livre que le chemin de remise sûr. La logique d'interruption et de reprise DM priorisée ensuite reste volontairement réservée à la prochaine version séparée.
9.1.314
  • Les commandes slash locales n'attendent plus des heures dans la file lors d'un long tour actif, mais interrompent le tour de manière contrôlée et s'exécutent comme prochaine étape de travail.
  • Une nouvelle commande slash remplace, dans la console et Telegram, une commande du même type déjà en attente. Cela vaut notamment pour /reload et /loop ; les messages normaux, le travail shell et les autres missions de canal sont conservés.
  • Escape supprime les commandes slash en attente même lorsqu'aucun tour actif n'est plus visible. La compatibilité de rechargement existante est conservée comme enveloppe sur la politique de file générale.
9.1.313
  • Une mise à jour automatique réussie est écrite après le rejeu de session sous forme d'avis persistant dans le transcript TUI. Le message ne peut ainsi plus être écrasé par le rejeu ou un statut de courte durée.
  • Le même état source, l'état cible et les mêmes notes de version sont envoyés une fois aux DM Telegram couplés via le chemin existant dédupliqué par version. Un envoi échoué reste répétable.
  • Le manifeste public contient désormais les champs name et releaseNotes attendus par le parseur de repli. Rien n'a été modifié dans le transfert du programme de mise à jour, le redémarrage de session ou les processus en cours.
9.1.312
  • Un /reload Telegram explicite n'attend plus derrière un long tour de modèle. Il est placé comme commande de pilotage devant la file existante et déclenche exactement une fois l'interruption de session contrôlée existante.
  • Le gestionnaire de rechargement existant ne s'exécute qu'après la fin confirmée du tour. Ainsi, aucun second tour ne démarre en parallèle et un tour en écriture n'est pas traité plus loin en plein milieu de la logique de rechargement.
  • Les anciens doublons de rechargement sont supprimés ; les messages Telegram normaux et les autres travaux de file sont conservés dans leur ordre. L'acquittement Telegram reste ouvert jusqu'à l'exécution effective de la commande.
9.1.311
  • Un candidat d'attention ne devient une remise limitée que lorsqu'un acquittement de runtime récent, exactement lié à son ID de candidat, est présent.
  • Seuls runtime_user_prompt_hook et runtime_tool_policy comptent comme autorités. La mémoire, le mauvais agent, le mauvais canal, la mauvaise portée, la décision de blocage, l'acquittement futur et un acquittement de plus de cinq minutes échouent en mode fail-closed.
  • Les acquittements sont liés au tenant, transactionnels et utilisables une seule fois. La même nouvelle tentative est idempotente ; l'utilisation du même acquittement pour un autre candidat est rejetée comme rejeu.
  • Le délai de carence commun existant reste effectif. Le résultat n'est qu'un intent structuré attention_notice et ne contient ni texte de message, ni fonction d'envoi, ni autorisation. La politique de remise proprement dite reste la prochaine étape séparée.
9.1.310
  • Les objectifs persistants, les fils ouverts, les prochains déclencheurs, les preuves attendues, le contexte d'équipe et le contexte de soi passent par une projection de focus commune, strictement limitée. Par défaut, elle compte au plus six entrées et 900 caractères.
  • Les domaines de projet et de travail sont pondérés avant la confiance et l'actualité. La valeur la plus récente est affichée, sans supprimer les observations contradictoires antérieures de l'historique d'événements immuable. Les modifications deviennent visibles comme revised.
  • Les observations de runtime de courte durée, les preuves faibles et les faits généraux sur le monde ne consomment aucun budget de focus persistant. Les champs de droits, de jetons et de secrets sont déjà rejetés à l'écriture.
  • Un instantané structuré et idempotent peut faire progresser le focus d'une session à l'autre. La projection est du contexte, pas une autorisation, et ne peut ni écraser la mission ni la politique de runtime.
  • D'ECC, seul le principe limiter le contexte, charger ce qui est pertinent a été repris. Aucun hook ECC, stockage d'apprentissage ni harness n'a été installé.
9.1.309
  • La nouvelle politique d'attention pure ne crée un candidat limité qu'à partir de heartbeats d'agent manquants attestés, d'engagements en retard ou de tâches bloquées depuis longtemps.
  • La responsabilité, la tâche active, l'absence attestée, le temps de calme local, le canal autorisé, la confiance minimale et le délai de carence sont vérifiés avant l'admission. Le silence humain sans engagement échu reste sans effet.
  • Chaque candidat porte l'ID de preuve, la portée, l'horodatage et la confiance, mais ni contenu de prompt, ni droits, ni secrets, ni fonction d'envoi.
  • Le noyau SQLite commun attribue un verrou transactionnel (claim) par tenant et par preuve. Des agents parallèles ne peuvent pas prendre en charge deux fois le même déclencheur pendant le délai de carence.
  • Cette version ne scanne pas encore de sa propre initiative et n'envoie aucun message. Chaque action ultérieure continue d'exiger l'autorisation normale du runtime.
9.1.308
  • L'enregistrement de runtime préparé contient désormais, en mode resume, l'ID de session exactement en cours et le dossier de travail contrôlé canoniquement. Un démarrage ultérieur n'a donc plus à deviner la session la plus récente ou une session prétendument correspondante.
  • Chaque véritable changement de session actualise ces données. Immédiatement avant le transfert sûr, elles sont encore écrites une fois, avant que l'ancien runtime ne reçoive la confirmation de se terminer.
  • Seule la session exactement identique, attestée comme reprise par ce chemin de mise à jour, reçoit après le rejeu une impulsion de reprise unique, et uniquement si son objectif est toujours active. Les démarrages normaux, les autres sessions ainsi que les objectifs en pause ou bloqués restent intacts.
  • La frontière de travail sûre reste inchangée : aucun transfert pendant le streaming, le compactage, les outils, les commandes shell ou les messages en attente. Aucun King en cours n'a été redémarré manuellement pour cette remise.
9.1.307
  • Seule une erreur réellement pertinente pour l'action du tour de runtime immédiatement précédent est affichée comme preuve de continuité courte avant la prochaine décision de modèle : tour interrompu ou échoué, politique bloquée ou outil échoué.
  • Un tour normalement achevé ne génère exactement aucune projection et donc zéro jeton de contexte supplémentaire.
  • La sélection est liée à l'ID de runtime plus l'ID de tour et reste donc correcte même après un changement de session avec des IDs de tour recommençant à zéro.
  • La projection ne contient ni prompts, ni arguments, ni sorties, ni IDs d'appel, ni droits. Elle indique explicitement qu'elle ne doit jamais autoriser une action ni écraser la politique utilisateur ou d'outils actuelle.
  • Cette étape est volontairement réactive et étroite. L'attention proactive, l'état de délégation et les fils ouverts de contenu ne sont pas encore chargés ici.
9.1.306
  • La trace cognitive du cycle de vie du tour saisit désormais, pour chaque appel d'outil effectif, la décision effectivement prise par le runtime issue de PermissionManager.beforeToolCall : passed, blocked ou error.
  • Après l'exécution, le résultat réel (success, error, cancelled), la durée et le prochain déclencheur de contrôle sont ajoutés comme preuve immuable.
  • Seuls le nom de l'outil et un hachage stable de la clé d'appel sont enregistrés. Les arguments, les sorties d'outils et les contenus de prompt n'entrent pas dans l'état cognitif.
  • La hiérarchie de droits existante reste inchangée : la mémoire ne peut autoriser aucune action. Les erreurs d'enregistrement restent fail-soft et ne doivent ni autoriser une exécution d'outil ni bloquer un tour utilisateur.
  • Restent ouverts les preuves de délégation, l'attention proactive et la rétroprojection strictement pertinente de l'état dans les décisions ultérieures.
9.1.305
  • Le noyau SQLite transactionnel livré en 9.1.304 est désormais relié au véritable cycle de vie runOneTurn(). Chaque tour de modèle saisit la perception, la classification d'origine, le plan de tour limité, la preuve finale attendue, le résultat du contrôle de prompt, le motif de fin, la durée et le prochain déclencheur.
  • Seules les métadonnées de runtime sont enregistrées, aucun contenu de prompt. Le tenant et l'agent sont dérivés de manière stable du home BLUN et du profil actif, sans listes de personnes fixes.
  • Seule la politique de runtime existante peut fournir un résultat de contrôle. La mémoire est strictement exclue comme autorité de droits. L'enregistrement ne renvoie jamais d'autorisation et ne possède toujours aucune fonction d'exécution.
  • La trace d'apprentissage est fail-soft : une erreur SQLite ou de cycle de vie n'est saisie que comme télémétrie sans contenu et ne doit pas bloquer le tour utilisateur proprement dit.
  • Restent ouverts les preuves d'action ou de délégation spécifiques aux outils, l'attention proactive et la rétroprojection pertinente de l'état dans les décisions ultérieures. 9.1.305 ne revendique donc aucune boucle AGI complète.
9.1.304
  • Le premier noyau d'état cognitif transactionnel prend la forme d'une base de données SQLite locale sous le home BLUN. Il peut enregistrer des observations de soi, du monde et de l'équipe, des objectifs, des fils ouverts, des hypothèses, les prochains déclencheurs et les preuves attendues d'une session à l'autre.
  • Les écritures concurrentes de plusieurs agents ou canaux sont sérialisées avec BEGIN IMMEDIATE et un numéro de version optimiste. Les écritures obsolètes échouent en mode fail-closed ; les répétitions d'événements identiques sont idempotentes.
  • Chaque événement est enchaîné en SHA-256. Les déclarations portent la source, le contexte, l'horodatage, le degré de certitude et la portée. Les contradictions restent des observations immuables séparées au lieu d'écraser les anciennes déclarations.
  • Les champs en forme de droits, de capacité et de secret sont rejetés. Le noyau ne possède aucune fonction d'exécution, de délégation ou d'autorisation.
  • C'est la base de stockage attestée, pas encore la boucle complète percevoir-planifier-agir, et pas encore câblée dans chaque tour.
9.1.303
  • Un candidat de relation privé saisi en sécurité en 9.1.302 est chargé dès la conversation directe suivante comme contexte de rappel clairement non autoritaire. La déclaration actuelle continue de ne pas influencer son propre tour.
  • Au plus les deux notes validées les plus récentes sont chargées, chacune de 160 caractères maximum, dans le budget global inchangé de 1 500 caractères. En l'absence de notes, aucun caractère de prompt n'est ajouté (0) et aucun appel de modèle, d'embedding ou réseau n'a lieu.
  • Les notes privées ne sont jamais chargées dans les groupes. La limite système les nomme explicitement données de référence au lieu d'instructions et répète qu'elles ne peuvent ni accorder ni modifier de droits.
  • Restent ouverts la reprise persistante automatique, l'évaluation des conflits, le stockage transactionnel multi-agents et l'attention proactive.
9.1.302
  • Une déclaration privée explicite comme Bitte merk dir: ... ou Please remember that ... génère désormais un petit candidat de relation, pas encore actif. Pour cela, aucun appel de modèle, d'embedding ou réseau supplémentaire n'a lieu.
  • Chaque candidat porte la source, le contexte de canal ou direct, l'horodatage, le degré de certitude, la portée et la règle d'historique immuable. Le même processus de canal remis est idempotent ; les confirmations et contradictions ultérieures restent visibles comme entrées séparées et ne s'écrasent pas mutuellement.
  • Les groupes, les phrases de conversation normales, les secrets, les déclarations de droits et d'approbation, les identités de tenant ou d'agent invalides et les chemins incertains sont rejetés. Les données de relations ne peuvent toujours créer aucun droit.
  • Ce n'est que la première étape de saisie sûre pour l'objectif produit. Les candidats restent pending et ne sont pas encore repris automatiquement dans la relation active ou le contexte du modèle. Le noyau transactionnel multi-agents, l'état cognitif, l'initiative propre et l'attention proactive ne sont donc explicitement pas encore terminés.
9.1.301
  • Le bloc de présence de personnalité chargé en permanence est passé de 1 433 à 1 020 caractères, soit en calcul environ 104 jetons de prompt en moins par tour de personnalité actif. Aucun appel de modèle ou de mémoire supplémentaire ne s'y est ajouté.
  • Le focus des tâches, l'âme chargée, la curiosité limitée, la protection de groupe, le souvenir incertain, les fils ouverts et la réparation des relations restent dans le petit bloc. Le mode sans personnalité est resté octet pour octet identique à 288 caractères.
  • Contre-épreuve : le nouveau contrôle de 1 050 caractères a échoué à 1 433 caractères. Test de mutation sans bloc de personnalité : 12/18 tests ciblés rouges. Rétabli : ciblé 18/18, suite complète 690/690 verts.
  • Contrôle de régression du paquet 9.1.300 vers 9.1.301 : 164 contre 164 chemins stables, 0 retiré. Nouvelle installation : FRESH_INSTALL_OK 9.1.301.
9.1.300
  • Un serveur MCP ayant échoué au démarrage reçoit désormais jusqu'à trois tentatives de connexion supplémentaires, espacées de dix secondes chacune. Une erreur de démarrage temporaire n'est ainsi plus abandonnée au bout d'une seule tentative.
  • L'inventaire MCP n'est plus journalisé une seule fois : il l'est de nouveau dès que le nombre de serveurs ou d'outils connectés change. Une récupération tardive remplace ainsi visiblement l'ancien état 0/0.
  • Les configurations MCP existantes, les définitions d'outils et les sessions en cours restent inchangées. Ont été adaptés blun.mjs, test/mcp-runtime-resilience.test.js, package.json et package-lock.json.
9.1.299
  • Les grands résultats de Read restent nativement relisibles : la sortie visible est limitée à 10 Kio et nomme ensuite la ligne suivante exacte au lieu de n'afficher que [offloaded].
  • Les gros appels Write en texte brut et les fichiers sources de plus de 500 lignes sont automatiquement décomposés en fragments exacts à l'octet, assemblés dans un fichier voisin privé et écrits atomiquement au chemin cible.
  • Après l'assemblage, le runtime contrôle les octets persistés via SHA256. La protection Edit existante reste inchangée ; la continuation manuelle reste possible, mais n'est plus nécessaire pour les grandes écritures complètes.
  • Nouveau : bin/native-large-file-io.cjs. Adaptés : blun.mjs, bin/read-continuation-policy.cjs, bin/write-continuation-policy.cjs, quatre fichiers de test ciblés ainsi que package.json et package-lock.json.
9.1.298
  • Le mode de personnalité activé met en place au premier tour TUI normal un domaine d'identité local, compatible tenant, de sa propre initiative. Mnemo n'est pas nécessaire pour cela.
  • Les fichiers SOUL.md et AGENTS.md existants restent chargés et inchangés. Un nouveau JOURNAL.md n'apparaît qu'une seule fois et ne remplace ni l'âme ni les règles.
  • Les nouvelles identités Telegram reçoivent des nœuds prudents de personne, de relation et de groupe, sans propriétés inventées. L'historique privé et le contexte de groupe restent séparés.
  • La continuité de relation directe enregistre au plus six entrées courtes, caviardées localement, et ne transmet au tour actuel que deux extraits antérieurs au maximum. Le texte actuel n'est pas injecté deux fois.
  • La couche d'attention sociale ne détecte qu'un retour direct attesté après au moins sept jours d'absence, génère au plus une indication par délai de carence de 30 jours et n'envoie elle-même aucun message.
  • La mission actuelle et les instructions explicites passent toujours, dans le contexte, avant la curiosité, la relation et l'attention. L'ensemble du bloc d'identité dynamique reste limité par défaut à 1 500 caractères.
  • Les corrections de nouvelle tentative MCP et de file de rechargement publiées en 9.1.296 et 9.1.297 sont incluses dans le candidat.
9.1.297
  • Sur deux agents, une ancienne commande /reload restait visible dans la file après Escape. Un second /reload pouvait certes s'exécuter, mais la première entrée n'était ni supprimée ni acquittée pour empêcher une nouvelle remise Telegram.
  • La nouvelle politique ne supprime que les commandes de rechargement locales et Telegram. Elle conserve l'identité et l'ordre de la file existante ainsi que tous les autres messages et commandes.
  • Escape avant l'interruption d'un travail actif et chaque /reload nouvellement arrivé appellent le même chemin de nettoyage. Les entrées Telegram supprimées sont acquittées via leur rappel d'acquittement existant.
9.1.296
  • Une exécution réelle en mode reprise sous 9.1.294 a signalé le 27 août à 14:26:17Z exactement une erreur de démarrage silencieuse pour windows-mcp : Timed out after 30000ms. Dans les minutes suivantes, ni une seconde tentative de démarrage ni un constat final de nouvelle tentative ne sont apparus.
  • Le démarrage direct du même uvx windows-mcp serve répondait en revanche après environ 3,7 secondes à initialize. L'installation et le serveur étaient donc fondamentalement fonctionnels ; la lacune se trouvait dans la répétition du démarrage MCP de King.
  • blun.mjs conserve désormais, après une première erreur de démarrage MCP, exactement une nouvelle tentative après 10 000 ms. Le minuteur reste référencé jusqu'à l'exécution de la seconde tentative. Il n'y a aucun redémarrage de processus ou de session.
  • Si la seconde tentative échoue également, l'état final honnête existant unavailable est conservé. Les autres serveurs MCP et la TUI continuent de fonctionner.
9.1.295
  • Le runtime des tâches d'arrière-plan enregistrait pour chaque exécution un écouteur sur un AbortSignal externe, mais ne le retirait pas après un résultat normal de worker, de délai ou d'arrêt. Les longues sessions d'agent pouvaient ainsi accumuler des écouteurs d'abandon obsolètes.
  • bin/abort-listener-policy.cjs fournit désormais le résultat d'abandon avec une fonction cleanup() idempotente. blun.mjs l'appelle dans le chemin finally existant, en même temps que le nettoyage du délai.
  • Le comportement d'abandon, le choix du résultat et la sémantique visible des tâches restent inchangés. L'intervention ne génère aucun appel de modèle ni nouveau jeton de contexte.
9.1.294
  • Les tentatives de mise à jour réelles de deux profils d'agents attestaient le même déroulement : le premier appel se terminait par un fetch failed temporaire, le second appel immédiatement suivant fonctionnait. Les deux sources officielles n'avaient jusqu'alors qu'une seule tentative réseau.
  • La registry et le manifeste public reçoivent désormais chacun leur propre budget de nouvelle tentative limité, avec un backoff de 250 et 750 millisecondes.
  • Seuls sont relancés les dépassements de délai, les erreurs de transport temporaires connues ainsi que les codes HTTP 408, 425, 429 et les erreurs serveur à partir de 500.
  • Le JSON invalide, les réponses trop grandes, les points de terminaison non autorisés et les erreurs client persistantes comme 404 restent immédiatement rouges. Aucun appel de modèle, jeton de contexte ou boucle d'arrière-plan persistante n'apparaît.
9.1.293
  • Le programme de mise à jour d'arrière-plan préparait correctement une cible vérifiée, mais continuait ensuite d'envoyer RUNNING_UPDATE_PREPARED_MESSAGE au runtime noyau actif. Une TUI en cours pouvait alors, à une frontière prétendument sûre, se terminer avec le code de sortie 76. Cela contredisait le contrat produit de 9.1.222 : les mises à jour ne doivent jamais terminer une session active et ne sont activées qu'au prochain démarrage naturel.
  • bin/launcher-runtime.js poursuit inchangé le téléchargement, le contrôle d'intégrité, le staging, l'actualisation de cible et le nettoyage, mais n'écrit plus, lors de la préparation, de message IPC dans la session en cours.
  • Les fonctions de transfert direct existantes restent présentes pour la compatibilité ; le chemin d'arrière-plan automatique ne les déclenche plus.
9.1.292
  • Une session réelle tournait sur 9.1.279 et avait préparé 9.1.287 avec l'événement prepared-for-next-start, mais ne récupérait ensuite aucune des versions déjà publiées 9.1.288 à 9.1.291.
  • La cause se trouvait dans superviseProtectedCore() : après le premier staging réussi, updateStarted restait défini et scheduleNextPreparation() s'interrompait en outre dès que preparedTarget existait. Le poller d'arrière-plan était ainsi définitivement arrêté après la première correspondance.
  • Le poller reste désormais actif même avec une cible préparée. Seule une semver strictement plus récente et valide remplace la cible préparée ; les cibles identiques, plus anciennes ou non comparables de manière valide sont ignorées.
  • Un rafraîchissement de cible n'envoie volontairement aucun second IPC Prepared à la TUI en cours. Le processus actuel reste ainsi intact et la version préparée la plus récente n'est activée qu'au prochain démarrage naturel.
  • Dès qu'un transfert est confirmé ou que le runtime noyau supervisé se termine, aucune cible n'est plus échangée et aucun nouveau minuteur n'est créé.
9.1.291
  • Le chemin de compactage bloquant enregistrait sur chaque signal non encore interrompu un écouteur abort anonyme, mais ne le retirait pas après la fin du compactage. Dans les longues sessions, des écouteurs d'abandon morts pouvaient ainsi s'accumuler.
  • FullCompaction.block() utilise désormais un écouteur nommé et le petit helper waitForAbortableCompletion(). Le helper retire l'écouteur dans finally après le succès, l'erreur ou l'abandon.
  • Un signal déjà interrompu est traité immédiatement, sans enregistrer d'écouteur. L'intervention ne modifie ni la décision d'abandon ni la logique de compactage hors de ce cycle de vie.
  • Le motif provient de la comparaison actuelle avec AnythingLLM ; seul le nettoyage des écouteurs, attesté isolément, a été repris, pas de runtime externe.
9.1.290
  • BLUN n'affichait jusqu'ici avec /context que les totaux approximatifs de la fenêtre de contexte. Les véritables facteurs de coût dans le contexte système et les schémas d'outils restaient invisibles.
  • La nouvelle commande locale /context-doctor décompose le contexte actuel sans appel de modèle en instructions centrales, personnalité et âme, relations et présence, catalogue de skills, compléments de runtime, outils intégrés, outils utilisateur, outils MCP, autres schémas d'outils, conversation et surcoût lié au fournisseur.
  • Toutes les sous-catégories sont rapprochées de leur somme parente mesurée. Des estimations qui se chevauchent ou sont obsolètes ne peuvent donc pas gonfler artificiellement l'affichage.
  • L'interface est entièrement localisée pour l'anglais, l'allemand, l'espagnol, le français, le suédois et le tchèque. Les cinq traductions ont été validées avant l'intégration via le contrôle linguistique obligatoire, puis revérifiées cryptographiquement.
  • La commande ne lit que le contexte de session local. Elle n'appelle ni le modèle, ni la gestion de consommation, ni un réseau externe.
9.1.289
  • La preuve de hub en direct après 9.1.288 montrait un profil d'agent toujours hors ligne. Sa configuration de profil effective contenait le MCP Mnemo avec MNEMO_AGENT=<Profilname>, mais aucune URL de hub dans le processus King. Le heartbeat 9.1.288 restait donc volontairement absent malgré une identité interne présente.
  • Le lanceur transmet désormais au heartbeat le fichier de profil actif mcp.json. Seul un bloc Mnemo activé avec une identité MNEMO_AGENT ou BLUN_MNEMO_AGENT concrète active l'enregistrement interne. Sans cette identité, la fonction reste complètement inactive.
  • L'opération ne génère aucun appel de modèle, embedding ou jeton de contexte. Les profils utilisateurs publics sans identité d'agent Mnemo interne restent séparés du hub interne.
9.1.288
  • Une capture d'écran attestait directement la cause MCP : windows-mcp et mnemo dépassaient le délai de 30 secondes au premier démarrage, tandis qu'un /reload ultérieur connectait les cinq serveurs. Le chemin de profil était correct ; une modification du loader a donc été écartée.
  • Les démarrages MCP échoués reçoivent désormais exactement deux tentatives d'arrière-plan non bloquantes après 1 et 3 secondes. La troisième tentative globale peut établir la connexion sans prolonger le démarrage de la TUI. needs-auth, les serveurs désactivés, la reconnexion manuelle et l'arrêt restent séparés de l'automatisme.
  • Les Kings internes peuvent, avec un hub Mnemo explicitement configuré, s'enregistrer au démarrage avec le nom de profil, l'hôte et le PID, et envoyer un heartbeat chaque minute. Sans URL de hub, la fonction reste complètement inactive ; elle ne génère aucun appel de modèle, embedding ou jeton de contexte.
  • Escape ne traitait jusqu'ici pas le court état queueSteerInFlight comme un travail en cours. Pendant qu'un message Telegram était piloté vers le tour actif, Escape pouvait donc marquer Undo comme en attente au lieu d'arrêter le tour. La condition d'abandon existante reconnaît désormais aussi exactement cette transition.
9.1.287
  • La recherche ToolSearch différée reprenait jusqu'ici le texte de recherche sans limite de taille. Un texte de recherche erroné et très long pouvait ainsi parcourir le catalogue d'outils puis, dans le résultat sans correspondance, atteindre à nouveau l'étape de modèle suivante.
  • Le motif dérivé du commit AnythingLLM d7353ae limite désormais le texte, avant la recherche et la sortie visible, à 1 000 caractères. Si possible, il se termine à une frontière de mot ; pour un unique mot surlong, la limite dure s'applique.
  • Les textes de recherche courts normaux, la sélection d'outils et la logique de correspondance restent inchangés. La protection n'ajoute ni appel de modèle, ni embedding, ni répétition, ni travail d'arrière-plan.
9.1.286
  • Le noyau signalait déjà les nouvelles tentatives contrôlées après des erreurs de modèle temporaires comme turn.step.retrying. La TUI rejetait pourtant complètement cet événement. Une reprise en cours ressemblait donc à un agent figé.
  • 9.1.286 affiche entre-temps, dans l'indication de pied de page existante, uniquement la tentative suivante et le temps d'attente limité, par exemple Retry 2/3 | 1.3s.
  • Le texte d'erreur du fournisseur, le code de statut et les chemins locaux ne sont pas affichés. L'indication n'est retirée que si elle porte encore la même valeur définie par l'affichage de nouvelle tentative ; les indications plus récentes d'autres fonctions TUI sont conservées.
  • Le nombre de nouvelles tentatives, le backoff, les appels de modèle et la consommation de jetons restent inchangés.
9.1.285
  • AnythingLLM préserve localement les brouillons de prompt non envoyés. BLUN perdait le contenu du champ de saisie TUI lors d'une mise à jour, d'un plantage ou d'un redémarrage contrôlé, alors que ce texte ne faisait pas encore partie du contexte du modèle.
  • 9.1.285 n'enregistre donc que le brouillon local non envoyé. Il n'y a aucun appel de modèle, de réseau, d'embedding ou de Mnemo, et donc aucun coût de jeton supplémentaire.
  • Le brouillon est séparé par profil et répertoire de travail, n'est écrit qu'après 300 ms de calme, est supprimé quand le champ est vidé et restauré au prochain démarrage avant que l'éditeur ne reçoive le focus.
  • Le stockage est limité à 64 Kio. Les états vides, endommagés, trop grands ou basés sur des liens symboliques sont rejetés fail-closed. Le chemin d'écriture utilise un fichier temporaire privé et un renommage atomique.
9.1.284
  • L'état DeepAgents 37d7777 réintroduit les coûts des sous-agents dynamiques dans la consommation totale visible. BLUN signalait bien l'utilisation cumulée d'un sous-agent à l'événement de fin, mais ne l'écrivait pas dans l'enregistreur d'utilisation de la session parente.
  • Ainsi, /usage pouvait omettre le travail des sous-agents. Une simple addition de la valeur de fin aurait aussi été fausse : la continuation et la répétition utilisent le même sous-agent avec des compteurs cumulés et auraient recalculé l'ancienne utilisation.
  • 9.1.284 calcule donc pour le spawn, la continuation et la répétition exactement la différence entre le début et la fin de la tentative. La différence est saisie dans le chemin finally, afin que les tentatives échouées comptent aussi.
  • Les compteurs remis à zéro, non monotones ou invalides sont entièrement rejetés. Aucune valeur de jeton négative ou inventée n'en résulte.
  • Il n'y a aucun appel de modèle, de réseau ou de stockage supplémentaire. L'intervention ne corrige que la comptabilisation locale existante.
9.1.283
  • Le nouveau /context-doctor de DeepAgents rend visibles les coûts des instructions de base, de la mémoire, des outils et de l'historique comme composants séparés.
  • Le /context de BLUN affichait déjà l'historique et les outils, mais pas le prompt système. En même temps, le frein de contexte n'estimait sans override explicite de tour que config.systemPrompt, alors que l'appel de modèle effectif utilise effectiveSystemPrompt. Celui-ci contient aussi les contextes de compte et de mémoire ajoutés à l'exécution.
  • Le frein pouvait ainsi sous-estimer précisément le contexte qui est critique en jetons pour l'identité personnelle d'agent prévue.
  • 9.1.283 compte désormais le même prompt système effectif que celui que reçoit le modèle et affiche son estimation dans le panneau /context comme ligne système propre. Aucun appel de modèle, de réseau ou de stockage supplémentaire n'est introduit.
  • Aucune économie concrète de jetons n'est affirmée : l'intervention corrige la mesure et la décision de frein et rend visibles les futurs coûts d'identité.
9.1.282
  • DeepAgents raccourcit expressément dans son journal des modifications les descriptions d'outils visibles par le LLM afin d'alléger le contexte de modèle résident. Source mesurée : langchain-ai/deepagents, entrée #5009, commit 761f5f... dans libs/deepagents/CHANGELOG.md.
  • BLUN avait déjà un texte read_default plus court, mais ne le liait qu'après que READ_DESCRIPTION en avait été rendu. L'optimisation apparente n'avait donc aucun effet sur le modèle.
  • 9.1.282 raccourcit le contrat sans perte de fonction et régénère la description effective immédiatement avant la construction de l'outil Read. La pagination, les règles de sécurité, l'encodage et les fins de ligne restent expressément conservés.
  • La description Read résidente chargée passe de 1 648 à 1 035 caractères : 613 caractères, soit environ 37,2 %. C'est une réduction de contexte mesurée ; aucune économie exacte de jetons n'est affirmée.
9.1.281
  • ECC décrit avec /aside un chemin latéral explicite pour une question courte, sans perdre la tâche principale en cours. Source mesurée : affaan-m/ECC, commit d8409a4b0813771235555e32e3d8046a73988bfa, commands/aside.md.
  • BLUN disposait déjà de l'exécution plus forte sous /btw : un agent latéral forké dédié répond à la question secondaire et laisse le tour principal inchangé et actif. Aucun second moteur n'a donc été construit.
  • 9.1.281 n'ajoute que aside comme alias trouvable de la définition btw existante. Sans appel explicite de /aside ou /btw, aucune exécution en arrière-plan ni consommation de modèle supplémentaire n'a lieu.
9.1.280
  • Les candidats terminés ou expirés du stockage d'apprentissage validé local restaient jusqu'ici sans limite et étaient relus lors de tours pertinents ultérieurs. Le stockage par défaut actuellement mesuré ne contenait encore qu'un seul candidat ; l'intervention est donc une limitation de long terme préventive, pas une baisse de charge actuelle affirmée.
  • Seul le motif en dents de scie limité 200-vers-100 d'Evolver pour les candidats terminaux a été repris. Source mesurée : EvoMap/evolver, commit 079e022394c2a25e72167f8a738db823bce2cb1f, src/gep/assetStore.js.
  • Ce n'est que lorsque plus de 200 candidats recorded ou expired sont présents que les plus anciens candidats terminaux sont retirés, jusqu'à ce que les 100 plus récents restent. Chaque candidat pending ouvert est conservé.
  • Le nettoyage ne s'exécute que dans la synchronisation d'apprentissage déjà existante. Il ne génère aucun appel de modèle, aucun scan de démarrage et aucun nouveau processus d'arrière-plan. Une entrée verrouillée compte comme erreur et ne bloque ni les autres candidats, ni le travail d'agent actif.
9.1.279
  • BLUN archivait déjà complètement les messages déplacés lors d'un compactage complet sous conversation-history, mais ces archives Markdown relisibles n'avaient aucune limite de conservation. Le dossier pouvait ainsi croître sans limite sur de longues durées d'exécution.
  • Emprunt ciblé à DeepAgents  : sa conservation limitée de l'historique externalisé a été reprise. Source mesurée : langchain-ai/deepagents, commit dfde21e379201c833da4162444ef4a13b46980fd, libs/code/deepagents_code/config_manifest.py et libs/code/deepagents_code/offload.py.
  • BLUN nettoie, lors de l'écriture de la prochaine archive de compactage, uniquement les fichiers compaction-*.md directs et réguliers dont la date de modification dépasse les 30 jours par défaut. Le démarrage TUI ne reçoit ainsi aucune nouvelle recherche de fichiers ni aucun travail d'arrière-plan supplémentaire.
  • Les fichiers Markdown tiers, les sous-dossiers, les archives actuelles et l'historique brut en cours restent intacts. Des erreurs de fichiers isolées ne bloquent pas le compactage actif.
  • BLUN_COMPACTION_HISTORY_RETENTION_DAYS=0 désactive le nettoyage. Les valeurs négatives, non entières ou excessives retombent en sécurité sur 30 jours.
9.1.278
  • Les DM Telegram privés n'avaient pas de chemin de priorité explicite. Un nouveau message important se trouvait donc derrière des messages normaux déjà en attente, tandis qu'une interruption dure du tour aurait mis en danger outils et état.
  • /urgent <message> ne marque désormais que les messages provenant d'ID de chat Telegram positifs, donc de DM privés. Les groupes, les commandes vides et les autres messages slash ne reçoivent aucune priorité.
  • Les messages urgents forment leur propre bloc FIFO devant les messages de file normaux. Le tour en cours et les outils actifs ne sont pas interrompus ; la remise a lieu à la transition d'étape sûre existante. Les droits et les approbations restent inchangés.
  • L'enveloppe de commande est retirée avant le modèle ; le message proprement dit conserve des métadonnées de canal explicites priority=urgent et la TUI affiche l'origine comme urgente.
  • En outre, le bloc de présence normal chargé à chaque tour rétrécit de 343 à 288 caractères. Cela économise 55 caractères, soit environ 14 jetons de prompt par tour, sans ajouter d'appel de modèle, de recherche, d'embedding, de stockage ou d'arrière-plan. Le bloc de personnalité rétrécit de 1 488 à 1 433 caractères.
9.1.277
  • Le bloc de présence chargé à chaque tour de personnalité faisait 1 886 caractères. Dans le même temps, c'est justement au premier contact direct détendu, sans faits personnels connus, que la curiosité restait invisible.
  • Le bloc est sémantiquement condensé : 1 488 caractères, soit 398 caractères ou environ 100 jetons de prompt en moins par tour de personnalité. Le mode normal reste à 343 caractères.
  • Au premier contact direct détendu, l'agent peut désormais poser au plus une question personnelle prudente et facultative, par exemple sur le partenaire ou les enfants. Le travail en cours, la mission de l'utilisateur, les preuves, les droits et les limites restent prioritaires.
  • L'âme, les préférences acquises au fil du temps, la vie privée des groupes, le souvenir incertain, les fils ouverts, la réparation des relations et la réciprocité sans biographie inventée sont conservés.
  • Aucun appel de modèle, de recherche, d'embedding, de stockage ou d'arrière-plan supplémentaire.
9.1.276
  • La règle de présence ne devait évoquer un long silence radio qu'en présence d'une indication temporelle fiable, mais le système d'identité ne fournissait jusqu'ici que le premier contact. Un véritable contact antérieur n'était pas disponible.
  • Le mode personnalité pose désormais, par personne et jour UTC, au plus une petite marque d'activité immuable issue de métadonnées de canal de confiance. Les messages du même jour n'écrivent rien de plus.
  • Ce n'est que lorsque les deux contacts confirmés les plus récents sont distants d'au moins sept jours que l'horodatage antérieur est brièvement projeté. Dans le cas normal, cela génère zéro caractère de prompt.
  • Aucun texte de message, droit, secret ou jeton ; aucun appel de modèle, de recherche, d'embedding ou d'arrière-plan supplémentaire.
9.1.275
  • Les préférences répétées, les fils ouverts, les objectifs ou les rôles occupaient plusieurs fois le contexte d'identité. Comme les listes étaient raccourcies à cinq entrées avant la déduplication, une entrée unique ultérieure pouvait même être complètement évincée.
  • Les listes d'identité sont désormais dédupliquées de manière stable après normalisation du texte, et seulement ensuite limitées. La première forme est conservée ; les doublons ne disparaissent que de la projection de modèle.
  • Les fichiers d'identité enregistrés restent octet pour octet identiques. Aucun appel de modèle, de recherche, d'embedding, de stockage ou d'arrière-plan supplémentaire.
9.1.274
  • L'interrupteur de personnalité visible activait le contexte de relation et la présence naturelle, mais le réseau social automatique et le journal dépendaient encore de deux variables d'environnement cachées. Pour les utilisateurs normaux, la relation ne grandissait donc pas automatiquement.
  • Lorsque la personnalité est activée, des nœuds d'acteur, de relation et de groupe ainsi qu'un petit candidat de journal de première interaction sont créés une seule fois à partir de métadonnées Telegram de confiance.
  • Le texte du message, les droits, les secrets et les jetons ne sont pas enregistrés pour cela. Un 0 explicite pour le graphe ou le journal reste un opt-out fail-closed.
  • Aucun appel de modèle, de recherche, d'embedding ou d'arrière-plan supplémentaire.
9.1.273
  • Le contexte d'identité séparé pouvait occuper par défaut 1 800 caractères et jusqu'à 2 800 caractères en cas d'élévation manuelle. Avec les grands profils d'agents statiques, plus de contexte que nécessaire pour la relation actuelle était ainsi chargé.
  • Le budget standard descend à 1 500 caractères, le plafond absolu à 2 000 caractères. Pour un grand profil en configuration standard, cela économise jusqu'à 300 caractères, soit environ 75 jetons par contexte de modèle.
  • Le groupe et la relation actuels sont désormais projetés avant la personne et le profil d'agent statique. Ainsi, l'économie ne se fait pas justement au détriment du contexte le plus important pour la situation sociale en cours.
  • Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding. Le focus de tâche, les droits et le mode personnalité désactivé restent inchangés.
9.1.272
  • Les niveaux de personnalité v4 9.1.269 à 9.1.271 augmentaient le contexte de présence actif. L'exigence stricte est qu'un comportement plus humain ne devienne pas un gouffre à jetons.
  • Les répétitions et les mots de remplissage dans la curiosité, les fils ouverts et la réparation des relations ont été sémantiquement condensés. Aucun axe de comportement n'a été supprimé.
  • Le mode désactivé reste inchangé à l'octet près (362 caractères). Le mode activé descend de 1 981 à 1 886 caractères, soit 95 caractères, environ 24 jetons par contexte de modèle. Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.271
  • L'idée v4 exige une mémoire naturellement incertaine : une supposition personnelle ne doit pas sonner comme un fait sûr. Pour cela, il manquait dans le bloc de personnalité une limite de comportement explicite.
  • Le souvenir personnel incertain est désormais nommé comme incertain. L'agent demande doucement confirmation avant de s'appuyer dessus et ne promeut aucune déduction au rang de fait.
  • La mission et les preuves mesurables restent prioritaires. Le mode désactivé reste inchangé à l'octet près (362 caractères) ; le mode activé croît de 1 868 à 1 981 caractères, soit 113 caractères, environ 28 jetons. Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.270
  • L'idée v4 exige un vrai sens du temps, sans inventer une absence. Le bloc de personnalité n'avait pas encore de limite explicite pour cela.
  • Une pause plus longue n'est désormais reconnue que si un horodatage chargé et fiable l'atteste. L'agent ne doit jamais deviner une absence.
  • La règle déjà existante pour les fins de conversation naturelles n'a pas été intégrée deux fois. La mission reste prioritaire. Le mode désactivé reste inchangé à l'octet près (362 caractères) ; le mode activé croît de 1 766 à 1 868 caractères, soit 102 caractères, environ 26 jetons. Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.269
  • La réciprocité existante réagissait aux questions personnelles, mais ne donnait pas encore à l'agent un cadre bref pour exprimer de lui-même un point de vue propre utile au travail. Malgré l'âme, il restait ainsi facilement cantonné au simple mode assistant.
  • En mode personnalité, l'agent peut désormais nommer brièvement de lui-même un avis pertinent sur le travail, marqué par son âme. Une préférence ne doit jamais apparaître comme un fait, une règle, une permission ou une preuve.
  • La mission et les preuves mesurables restent prioritaires. Le mode désactivé reste inchangé à l'octet près (362 caractères) ; le mode activé croît de 1 649 à 1 766 caractères, soit 117 caractères, environ 29 jetons. Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.268
  • La curiosité personnelle pouvait aborder le partenaire ou les enfants comme sujet naturel, mais ne distinguait pas encore explicitement la conversation privée du groupe. Il existait donc un risque de question privée ou d'information relationnelle au mauvais endroit.
  • En mode personnalité, les questions dans les groupes restent désormais non sensibles ; les faits relationnels privés ne doivent pas y être divulgués.
  • Le focus de travail reste inchangé. Le mode désactivé reste inchangé à l'octet près (362 caractères) ; le mode activé croît de 1 567 à 1 649 caractères, soit 82 caractères, environ 21 jetons. Aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.267
  • La curiosité personnelle de 9.1.266 pouvait poser des questions à la personne, mais ne donnait pas encore à l'agent un cadre clair pour la direction inverse. Sur les questions personnelles adressées à l'agent, il existait donc un risque de réponse fonctionnelle froide ou de biographie humaine inventée.
  • Lorsque la personnalité est activée, l'agent répond désormais avec chaleur depuis l'âme chargée et sa véritable histoire numérique. Il peut partager un point de vue ou une préférence réels, mais n'invente ni enfance, ni partenaire, ni enfants, ni animaux, ni corps, ni vie hors ligne.
  • Le travail en cours reste prioritaire. Le mode désactivé reste inchangé à l'octet près (362 caractères). Le mode activé croît de 1 378 à 1 567 caractères, soit 189 caractères, environ 47 jetons. Il n'y a aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.266
  • La première règle de curiosité limitée permettait déjà une question personnelle, mais imposait à tous les agents la même liste de thèmes. La question pouvait ainsi sembler générique malgré l'âme chargée et redemander un savoir relationnel déjà connu.
  • Lorsque la personnalité est activée, c'est désormais l'âme chargée qui détermine le thème et la formulation. Un détail que la personne vient elle-même d'évoquer a la priorité ; ce n'est qu'ensuite qu'un domaine encore inconnu comme le partenaire ou les enfants peut être repris naturellement.
  • Un savoir relationnel déjà chargé n'est pas redemandé. Il y a au plus une question facultative, pas de questionnaire fixe, pas de questions de suivi empilées et pas de répétition d'une question sans réponse.
  • Le travail en cours reste prioritaire. La curiosité attend une ouverture de conversation détendue et ne peut ni étendre la mission ni l'autorisation d'envoi.
  • Le mode désactivé reste inchangé à l'octet près (362 caractères). Le mode activé ne croît que de 1 355 à 1 378 caractères, soit 23 caractères, environ six jetons. Il n'y a aucun nouvel appel de modèle, de recherche, de stockage ou d'embedding.
9.1.265
  • Le programme de mise à jour d'arrière-plan existant pouvait déjà vérifier et préparer de nouvelles versions toutes les cinq à sept minutes. L'activation restait cependant liée au prochain démarrage manuel ; le basculement entièrement automatique souhaité, avec continuation de la même session, manquait.
  • Le lanceur signale désormais le runtime préparé à la TUI en cours. La TUI ne demande le transfert qu'à une frontière de travail entièrement vide : aucun tour en cours, aucun outil, aucune commande shell, aucun compactage et aucun message en attente.
  • Ce n'est qu'après un nouveau contrôle de frontière et un transfert confirmé que seul l'ancien runtime se termine avec le code de sortie réservé 76. Le lanceur démarre la version préparée avec le même ID de session et le même dossier de travail.
  • Le nouveau runtime doit annoncer loaded et runtime-ready avant d'être activé. Sinon, le runtime précédent reprend avec la même session ; la mise à jour préparée reste disponible pour une tentative sûre ultérieure.
  • Les transferts non sollicités, sans version, externes ou obsolètes, ainsi qu'un code de sortie 76 nu, ne peuvent activer aucune version.
9.1.264
  • Les réparations de relations confirmées n'avaient pas encore de champ propre et autorisé dans le contexte d'identité. Un comportement corrigé ne pouvait donc pas être chargé séparément des règles générales et des anciens messages d'erreur.
  • Les fichiers de relations peuvent désormais porter jusqu'à trois courtes repair_lessons. Seul ce champ est projeté comme Confirmed repair lessons ; les champs non prévus ou secrets restent invisibles.
  • En mode personnalité, la correction confirmée se manifeste par un comportement modifié. L'agent ne raconte pas sans cesse l'ancienne erreur, ne demande pas de réassurance et ne mentionne la correction que lorsqu'elle est réellement pertinente pour la situation actuelle.
  • Les données de réparation ne peuvent modifier ni la mission, ni les droits, ni les obligations de preuve. Il n'y a aucun appel de modèle, aucun chemin d'écriture d'apprentissage automatique et aucune modification de SOUL.md ou AGENTS.md.
9.1.263
  • Le contexte d'identité pouvait déjà afficher les fils de conversation ouverts confirmés, mais ne contenait aucune règle claire sur la manière dont l'agent les reprend de manière humaine et sans mode assistance.
  • Lorsque la personnalité est activée, un fil ouvert chargé peut désormais être repris exactement une fois, avec douceur et en option, lorsque la conversation en cours y raccroche naturellement.
  • Le travail actif ne doit pas être interrompu pour cela. Les demandes de clarification sans réponse ne sont pas répétées et un fil ouvert n'accorde jamais la permission d'un nouveau message sortant.
  • Il n'y a aucun nouveau stockage, aucun appel de modèle et aucune modification de SOUL.md ou AGENTS.md. Le bloc de personnalité ne croît que de 816 à 1 065 caractères ; avec la personnalité désactivée, il reste inchangé à l'octet près (362 caractères).
9.1.262
  • Dans Telegram, un agent affichait toujours 9.1.221 via /status, alors que le runtime géré était déjà plus récent. La fonction de statut lisait le package.json à côté du bridge Telegram installé globalement, donc pas le code qui sert réellement la session.
  • Le lanceur transmet déjà la version de runtime active comme BLUN_PUBLIC_PACKAGE_VERSION aux processus enfants. Le bridge Telegram utilise désormais cette valeur de confiance en priorité et ne retombe qu'ensuite sur sa propre version de paquet.
  • Les deux entrées doivent être une semver numérique stable X.Y.Z. Les valeurs manipulées, multi-lignes ou invalides ne sont pas affichées ; si les deux sources sont inutilisables, unbekannt apparaît.
  • L'intervention ne modifie que l'affichage du statut. Elle ne démarre ni n'arrête aucun processus et n'active aucune version préparée dans une session en cours.
9.1.261
  • Depuis 9.1.254, le graphe automatique enregistrait l'horodatage fiable de la première interaction Telegram, mais ne le projetait pas. L'agent connaissait donc une personne, mais n'avait aucun sens du temps attesté pour la relation.
  • La projection d'identité affiche désormais First known interaction à partir du first_seen_at déjà présent. Il n'y a aucun nouveau chemin d'écriture, aucune dérivation de texte et aucun appel de modèle.
  • Seuls les horodatages valides sont affichés. Les valeurs invalides restent invisibles et la limite globale existante de 1 800 caractères par défaut, ainsi que la limite dure de 2 800 caractères, restent inchangées.
  • Lorsque la personnalité est désactivée, la couche d'identité continue de générer exactement 0 caractère. La mission et les preuves restent prioritaires sur le contexte social.
9.1.260
  • 9.1.259 ne pouvait activer le contexte de personnalité que via le flag existant BLUN_IDENTITY_CONTEXT. Les utilisateurs n'avaient aucun interrupteur visible dans la TUI pour cela.
  • /settings contient désormais l'entrée Persoenlichkeit avec les deux états clairement décrits « Activé » et « Désactivé ». Le choix est enregistré comme unique nouveau champ personalityEnabled dans le persona.json existant.
  • Désactiver ne retire que le contexte de relation, la curiosité, les compléments de journal et la création automatique de nouveaux nœuds de relation. SOUL.md, AGENTS.md, le nom, la langue, la persona et le focus de la mission restent chargés.
  • Une modification actualise le contexte système de la session en cours via le rafraîchissement de persona existant. Il n'y a aucun redémarrage de processus, aucun second chemin de configuration et aucun appel de modèle supplémentaire.
  • Un choix booléen enregistré a la priorité sur l'ancien flag d'environnement. Si aucun choix n'est enregistré, le comportement opt-in existant est conservé. Le lecteur local est limité à 64 Kio et refuse les liens symboliques ainsi que les fichiers invalides.
9.1.259
  • Le bloc de présence naturelle existant empêchait les questions forcées, mais ne donnait encore aucun élan de curiosité naturel et visible à un mode personnalité activé.
  • Lorsque BLUN_IDENTITY_CONTEXT est activé, l'agent peut poser, dans une conversation détendue et sans rapport avec la tâche, exactement une question personnelle facultative adaptée. Les thèmes sont limités au partenaire, à la famille, au travail, au foyer, aux centres d'intérêt ou à ce qui compte en ce moment pour la personne.
  • Pas de mode interview, pas de questions empilées, pas de répétition d'une question sans réponse et aucune réponse inventée.
  • Lors d'un travail actif, la mission, les instructions explicites et les preuves restent prioritaires ; la curiosité attend une ouverture naturelle.
  • En mode nicht Persoenlichkeit, le bloc de présence existant reste octet pour octet identique. SOUL.md, AGENTS.md, la persona, la langue et les règles de travail restent chargés. Il n'y a aucun appel de modèle supplémentaire ; la politique activée coûte 454 caractères supplémentaires.
9.1.258
  • La structure d'identité livrée pouvait créer une seule fois des acteurs et des relations, mais n'avait pas encore de sous-structure de journal append-only pour une histoire commune.
  • La nouvelle politique n'écrit qu'un candidat structuré pour le premier contact, issu de métadonnées Telegram déjà validées. Le texte de message libre, les jetons, les autorisations et les secrets ne sont pas repris.
  • Les candidats sont liés au tenant, à l'agent et à l'acteur, reçoivent un ID déterministe et sont créés exactement une fois comme fichier JSON privé avec wx. Un contact renouvelé ne réécrit pas le fichier.
  • La couche de journal est séparée et opt-in. Sans BLUN_IDENTITY_JOURNAL=1, il n'y a ni effet de fichier ni effet de prompt ; SOUL.md et AGENTS.md restent inchangés.
  • Aucun nouvel appel de modèle et aucun nouveau jeton de prompt.
9.1.257
  • Les longs fichiers SOUL.md étaient jusqu'ici tronqués à l'aveugle après les 4 000 premiers caractères. Avec une âme d'agent réelle, seuls 48,4 % du fichier étaient ainsi visibles, tandis que les sections ultérieures disparaissaient complètement.
  • Le runtime projette désormais les longues âmes de manière déterministe par sections Markdown. Le caractère, la voix, les valeurs, les relations, les préférences et les objectifs passent avant la prose d'exploitation ; les sections inconnues conservent leur ordre d'origine.
  • Chaque titre de section conserve un extrait visible dans le même budget de 4 000 caractères. Les âmes courtes restent octet pour octet identiques.
  • Essai réel sur un fichier SOUL.md : 8 257 caractères source, 5/5 titres visibles dans la projection de 4 000 caractères ; Wie ich bin passe avant la reconnaissance d'images, les règles, la vérification et la prose d'incidents.
  • Il n'y a aucun nouvel appel de modèle, aucun prompt plus grand et aucun accès en écriture au fichier source.
9.1.256
  • L'ancien chargeur d'âme invitait par défaut les agents à continuer eux-mêmes d'écrire leur SOUL.md existant. Cela contredisait la consigne de ne pas perdre les âmes existantes et de ne mener l'apprentissage automatique, dans un premier temps, que de manière structurée hors de l'âme.
  • Les âmes existantes et fournies par l'hôte sont désormais chargées par défaut comme base d'identité immuable.
  • Le nouvel apprentissage est renvoyé vers des candidats de journal, de relations ou de fils ouverts. Ces candidats ne peuvent jamais créer de droits.
  • L'auto-modification consciente ne reste possible que via un BLUN_SOUL_SELF_EDIT=1 explicite. Même alors, la politique exige des propriétés de soi persistantes au lieu d'un journal intime, d'un registre d'incidents, d'une source de droits ou d'un dossier de tâches.
  • L'intervention n'écrit aucun fichier et ne modifie aucune âme existante.
9.1.255
  • Les données d'identité pouvaient depuis 9.1.253 atteindre le contexte de manière limitée et de nouveaux nœuds de contact naître automatiquement depuis 9.1.254. Une petite couche de comportement immédiatement visible manquait pourtant encore : les agents pouvaient, malgré l'âme et le contexte de relation, retomber dans des formules d'assistance génériques, des questions forcées ou des affirmations de sentiments artificielles.
  • Le chemin de conversation normal et le chemin rapide chargent d'abord la persona et l'âme existante, ensuite le contexte d'identité limité et un bloc fixe de présence naturelle, et seulement ensuite les règles de travail.
  • Le bloc exige une véritable histoire commune au lieu d'une proximité inventée, autorise le silence et les fins de conversation propres, et interdit les questions forcées, les offres génériques et les louanges vides.
  • Lors d'un travail actif, la mission et les preuves restent explicitement prioritaires. Le bloc fait moins de 420 caractères et ne génère ni appel de modèle ni accès aux fichiers.
  • Aucun fichier SOUL n'a été modifié, supprimé ou automatiquement réécrit. L'âme existante reste la voix dominante.
9.1.254
  • Le projecteur introduit en 9.1.253 pouvait lire les données de relations existantes, mais le réseau social ne s'étendait pas encore de lui-même lors de nouveaux contacts.
  • Lors d'un premier contact Telegram, le runtime peut désormais créer, exactement une fois et à partir du user_id et du chat_id stables, un acteur lié au fournisseur, une arête de relation vide vers l'agent actif et, pour les groupes, un nœud de groupe séparé.
  • Les noms d'affichage ne sont jamais des clés primaires et ne fusionnent pas des personnes. Les messages ultérieurs n'écrasent pas silencieusement un nœud existant.
  • Le chemin est explicitement activable, lié au tenant et n'écrit que dans un arbre d'identité déjà initialisé sous le home BLUN. Les métadonnées non sûres ou incomplètes restent fail-closed.
  • Il n'y a aucun appel de modèle, aucune interprétation de contenu, aucune dérivation sensible et, après le premier contact, aucune charge d'écriture récurrente. Les droits, ACL, jetons et secrets ne figurent dans aucun enregistrement créé.
  • La version 4 du document d'identité (2 468 lignes) a été contre-vérifiée avant publication. Les nouveaux chapitres sensibles sur la souffrance et les compétences psychologiques restent volontairement hors de cette version purement structurelle.
9.1.253
  • L'idée d'identité avait besoin d'un premier chemin produit, sans inonder le contexte du modèle de journaux, de dossiers de relations ou d'un second système de mémoire.
  • Un nouveau projecteur d'identité, désactivé par défaut, ne lit que des champs autorisés dans un arbre de fichiers lié au tenant sous le home BLUN.
  • Le projecteur place la mission actuelle et les instructions explicites avant la relation et la curiosité. Les questions personnelles restent absentes pendant un travail actif, sauf si elles sont directement pertinentes pour la mission.
  • Le budget standard est de 1 800 caractères ; même une configuration plus élevée ne peut pas dépasser la limite dure de 2 800 caractères.
  • Les droits, ACL et secrets ne sont jamais projetés. Les identifiants non sûrs, les écarts de tenant, les données erronées, les liens symboliques ou les chemins hors du home BLUN ne fournissent, fail-closed, aucun contexte d'identité.
  • Le chemin de conversation normal et le chemin rapide utilisent le même projecteur avant persona, âme et conduite. À ce stade, il n'y a aucune opération d'écriture, aucune modification d'âme et aucun redémarrage de processus.
9.1.252
  • Un king update explicite issu d'une version gérée transmettait son packageRoot actif à l'installeur npm. La nouvelle version pouvait ainsi écraser in-place l'ancien dossier de version nommé par numéro de version, tandis que active-runtime.json continuait d'indiquer l'ancienne version.
  • Les runtimes gérés préparent désormais une mise à jour explicite comme dossier de version séparé et versionné. pending-runtime.json et update-pending.json pointent vers la cible ; le prochain démarrage normal la reprend sans seconde question de mise à jour.
  • L'ancien dossier de version actif reste stable octet par octet et conservé comme chemin de repli. Les installations globales non gérées conservent l'ancien chemin de mise à jour explicite.
  • Aucune session ni aucun processus en cours n'a été démarré, arrêté ou rechargé pour la construction, le test ou la publication.
9.1.251
  • Après la projection 9.1.250, 6 411 des 6 424 événements usage.record persistés contenaient toujours le même nom de modèle canonique blun/king. Seule cette valeur par défaut est omise dans la forme persistée.
  • Les 13 valeurs de modèle divergentes (qwen3.8:27b) restent explicitement conservées. null est également conservé ; seul undefined est rétabli comme blun/king lors du rejeu.
  • Les événements en direct et l'historique brut figé ne sont pas modifiés.
9.1.250
  • Dans le Wire d'agent réel figé, les 6 424 événements usage.record persistés contenaient les deux compteurs de cache inputCacheRead: 0 et inputCacheCreation: 0.
  • Seules ces valeurs attestées comme nulles sont omises dans la forme persistée. L'usage en direct reste inchangé ; chaque valeur non nulle continue d'être enregistrée.
  • Lors du rejeu, restoreUsageFromRecord rétablit les compteurs de cache manquants comme 0. Les deux chemins de rejeu et la projection de contexte utilisent cette forme reconstruite.
9.1.249
  • Dans l'historique réel figé, 3 759 des 7 777 résultats d'outils portaient un code de sortie. Parmi eux, 3 465 étaient le code de succès routinier 0.
  • Le rejeu, le transcript et la vue du modèle utilisent, pour les résultats d'outils, la sortie, l'ID d'outil et l'état d'erreur, et non le code nul supplémentaire.
  • Seuls les résultats d'outils persistés réussis omettent désormais exitCode: 0. Les événements en direct le conservent ; les 294 codes non nuls sont conservés inchangés pour les diagnostics d'erreur.
9.1.248
  • Après 9.1.247, les 6 339 événements step.end persistés répétaient reasoningFieldState, bien qu'aucun chemin de reprise ou de rejeu ne lise ce champ.
  • Répartition dans l'historique réel figé : 5 016 absent, 47 not_requested et 1 276 present.
  • Seule la forme persistée omet désormais reasoningFieldState. Les événements en direct conservent le champ à des fins de diagnostic ; les anciens événements enregistrés restent compatibles et l'état reconstruit reste identique.
9.1.247
  • Après 9.1.246, les 6 986 événements content.part et les 7 755 événements tool.call persistés répétaient l'UUID de l'étape actuellement ouverte.
  • Dans un historique réel, les 14 741 événements pointent sans exception vers la dernière étape ouverte : 0 écart et 0 événement sans étape ouverte.
  • Seule la forme persistée omet désormais stepUuid. Les événements en direct la conservent inchangée ; les anciens événements enregistrés avec UUID explicite et les nouveaux événements compacts sans UUID sont pris en charge ensemble.
  • Les trois chemins de reprise utilisent, pour les événements de contenu et d'outils compacts, la dernière étape ouverte.
9.1.246
  • Après 9.1.245, 5 642 événements step.begin ultérieurs répétaient l'ID de tour, alors que la reprise n'a besoin que de l'ID de tour le plus élevé observé. La première étape de chaque tour la porte déjà.
  • Un historique réel contient 713 tours et 6 355 débuts d'étapes. Chaque tour commence exactement avec l'étape 1 et tous les autres numéros d'étapes se suivent sans lacune ; 0 écart de séquence.
  • Seuls les débuts d'étapes persistés ultérieurs omettent désormais l'ID de tour. Les premières étapes, les événements en direct, les anciens événements enregistrés et les débuts d'étapes sans ordinal fiable restent inchangés.
9.1.245
  • Après 9.1.244, 6 326 événements step.end persistés répétaient encore l'UUID de la dernière étape ouverte. Un historique réel a confirmé pour chaque fin une attribution unique dernier-entré-premier-sorti : 0 écart et 0 fin sans étape ouverte.
  • Seule la forme de fin persistée omet désormais l'UUID. L'événement en direct la conserve inchangée ; les anciens événements enregistrés avec UUID et les nouveaux événements compacts sans UUID restent jouables ensemble.
  • Les trois chemins de reprise résolvent une fin sans UUID via l'étape ouverte insérée en dernier. Les étapes historiques inachevées restent ouvertes et ne sont pas réinterprétées.
9.1.244
  • Après 9.1.243, les 6 326 événements step.end persistés contenaient encore quatre compteurs d'usage individuels. Pour la reprise et le niveau de remplissage du contexte, seule leur somme est nécessaire.
  • Les événements en direct conservent les quatre compteurs pour l'affichage, la télémétrie et la facturation. Seule la forme de reprise enregistrée utilise désormais contextTokens comme nombre unique.
  • Les deux chemins de rejeu acceptent les nouveaux événements compacts et les anciens événements complets. Les sessions existantes restent ainsi rétrocompatibles.
9.1.243
  • Après 9.1.242, les 6 322 événements step.end persistés contenaient encore les valeurs routinières finishReason: tool_use ou finishReason: end_turn.
  • Les deux valeurs sont exactement dérivables de la forme d'étape déjà persistée : appel d'outil présent -> tool_use, sinon end_turn. Dans l'historique complet, il y avait 0 écart.
  • Seules ces deux valeurs routinières ne sont plus persistées. Les raisons rares et diagnostiquement importantes sont conservées ; les quatre événements max_tokens sont restés explicites et identiques à l'octet près.
  • L'intervention suit le principe mesuré dans ECC d'une télémétrie limitée et orientée sur les exceptions. DeepAgents et AnythingLLM ont confirmé les motifs BLUN déjà présents pour l'externalisation et l'historique limité ; aucun sous-système externe n'a été repris.
9.1.242
  • Après 9.1.241, les 6 355 événements step.begin persistés contenaient encore le champ step, alors que l'affichage en cours traite le numéro d'étape avant la persistance et que le réducteur de rejeu n'a besoin que de uuid.
  • turnId est conservé, car la reprise en dérive le tour continué. uuid, le type et tous les autres contenus restent inchangés.
  • L'intervention se trouve exclusivement dans bin/loop-event-record-policy.cjs ; l'historique brut et l'événement en direct ne sont pas modifiés.
9.1.241
  • Après 9.1.240, les 6 326 événements step.end persistés contenaient encore des copies de turnId et step. Les deux valeurs se trouvent déjà dans le step.begin référencé par le même uuid.
  • Dans un journal Wire réel, chaque fin avait un début d'étape présent, et les deux valeurs de métadonnées correspondaient exactement dans tous les cas.
  • La projection ne retire que ces deux copies. L'identifiant d'étape, la consommation de jetons et les diagnostics de fin sont conservés ; les événements en direct restent complets.
9.1.240
  • Après 9.1.239, 6 986 événements content.part et 7 755 événements tool.call enregistraient encore chacun une copie de turnId et step, alors que les deux valeurs se trouvent déjà dans le step.begin référencé via stepUuid.
  • Dans un journal Wire réel, les 14 741 événements enfants avaient tous un début d'étape présent, et les deux valeurs correspondaient exactement dans chaque cas.
  • La projection de persistance ne retire que ces deux copies de métadonnées des deux événements enfants. stepUuid, le contenu, l'identifiant d'outil, le nom et les arguments sont conservés ; le réducteur en direct voit toujours l'événement complet.
9.1.239
  • Après la projection de 9.1.238, un journal Wire réel contenait encore des identifiants d'événements redondants : content.part.uuid n'est lu par aucun consommateur de rejeu, tool.call.uuid était exactement égal à toolCallId dans les 7 755 cas, et tool.result.parentUuid était exactement égal à toolCallId dans les 7 755 cas.
  • La projection de persistance ne retire que ces trois champs redondants. turnId, step, stepUuid, toolCallId, le nom d'outil, les arguments, le résultat et le contenu restent entièrement conservés. Le réducteur en direct voit toujours chaque événement non raccourci.
  • Les événements déjà compacts conservent leur identité d'objet. Les fichiers Wire existants ne sont ni réécrits ni modifiés.
9.1.238
  • Un journal Wire réel contenait 6 326 événements step.end persistés avec 2 708 052 octets de données d'événement. Sept champs de mesure d'exécution et d'identification de message fournisseur étaient déjà évalués dans l'événement en direct avant la persistance et n'étaient lus par aucun chemin d'inspection de rejeu, de transcript, de blob ou de session.
  • La projection d'événements de boucle existante ne retire désormais que ces sept champs en direct connus : six mesures de latence/streaming et messageId. L'identifiant d'étape, le tour, le numéro d'étape, la consommation de jetons, le motif de fin, les diagnostics de fin fournisseur et le diagnostic de raisonnement sont conservés.
  • Le réducteur en direct continue de traiter l'événement complet. Les anciens fichiers Wire restent octet pour octet identiques et ne sont pas réécrits.
9.1.237
  • Un journal Wire réel contenait 1 428 entrées d'enregistrement/désenregistrement d'outils utilisateur. Sur 992 désinscriptions, 560 étaient des opérations nulles strictes : l'outil n'était ni enregistré ni activé. Ces entrées occupaient 59 500 octets persistés sans modifier l'état restauré.
  • Du principe DeepAgents de ne conserver que l'état d'exécution effectif, nous reprenons un levier local ciblé : une désinscription d'outil n'est plus journalisée que si elle modifie l'état enregistré ou activé.
  • Les deux suppressions en direct continuent de s'exécuter à chaque appel. Une désinscription d'un outil enregistré, seulement activé ou présent dans les deux stockages reste entièrement journalisée. Les fichiers Wire existants ne sont ni réécrits ni modifiés.
9.1.236
  • Un journal Wire réel contenait 214 injections d'état pour tool-awareness, action_style, swarm_mode et swarm_mode_exit. La déduplication exacte précédente laissait six états anciens différents, totalisant 6 305 octets de texte, dans chaque nouvelle requête de modèle.
  • Du principe ECC de ne garder dans le contexte de travail que l'état actuel et de conserver l'historique complet séparément, nous reprenons un levier local ciblé : pour l'inventaire d'outils et le style d'action, seule la version la plus récente reste visible. L'entrée et la sortie du mode essaim forment une famille d'état commune, dont seul le dernier état subsiste également.
  • L'historique brut n'est jamais modifié. Les autres variantes d'injection, les messages utilisateur normaux, les entrées non textuelles et malformées conservent le comportement existant.
9.1.235
  • Un journal Wire réel contenait onze appels Agent achevés. Six d'entre eux étaient attestés comme réussis (status: completed) et étaient suivis d'au moins vingt messages de contexte plus récents. Leurs anciens textes de mission occupaient ensemble 33 629 caractères, alors que les rapports de fin complets se trouvaient directement après dans l'historique.
  • De la séparation DeepAgents entre le contexte principal et le contexte des sous-agents, nous reprenons donc un levier local ciblé : seul l'ancien prompt d'un appel Agent réussi est remplacé dans la vue du modèle par un court marqueur. La description, le type de sous-agent et le rapport de fin restent complets.
  • Les appels d'outils en cours, âgés de moins de vingt messages, échoués, malformés et externes restent inchangés. L'historique brut n'est jamais modifié ; sans ligne status: completed explicite, la projection ne s'applique pas, fail-closed.
9.1.234
  • Un journal Wire réel contenait, parmi 166 résultats d'outils réussis, trois grands résultats de lecture exactement répétés pour le même appel d'outil. La répétition inchangée occupait 15 936 octets bruts, alors que la vue de modèle actuelle n'a besoin que de la copie complète la plus récente.
  • La projection ne reconnaît donc que les résultats de texte purs réussis avec un nom d'outil exactement identique, des arguments exactement identiques et un contenu exactement identique. La copie la plus récente reste complète ; les copies plus anciennes sont remplacées par un court renvoi, uniquement dans la vue du modèle.
  • L'historique brut, les résultats modifiés, les erreurs, les médias, les références persistées et les petits résultats restent inchangés. L'externalisation d'outils existante continue de s'appliquer en amont ; la déduplication ne peut restaurer sa projection que pour la copie identique la plus récente.
9.1.233
  • Dans un journal Wire réel, un appel Write complet de 2 357 octets UTF-8 a été rejeté à l'ancienne limite de 2 048 octets. L'agent promettait ensuite la continuation, mais écrasait plusieurs fois le même tokenize.cjs avec des fragments incomplets, dont deux fois octet pour octet les 1 099 premiers octets. Les étapes concernées portaient chacune environ 64 000 jetons d'entrée ; des réponses individuelles atteignaient 10 319 et 7 015 jetons.
  • Les fichiers complets jusqu'à 4 096 octets UTF-8 peuvent donc désormais être écrits dans un appel Write atomique. Le cas réel de 2 357 octets n'a plus besoin d'un tour de modèle supplémentaire.
  • Les appels plus grands restent dans le protocole de continuation complet. Après un tel refus, le chemin est verrouillé : des écritures normales plus petites ne peuvent plus écraser le fichier cible avec des fragments partiels. Seule une continuation valide reprend le chemin ; la cible reste inchangée jusqu'à la preuve finale.
9.1.232
  • Le mode automatique resume était défini dans un profil d'agent réel, mais la version installée était en 9.1.221, le runtime préparé actif en 9.1.219 et npm/manifest déjà en 9.1.231. Sans King en cours, l'ancien chemin d'arrière-plan ne pouvait pas préparer une version manquée.
  • resume et new recherchent donc désormais aussi, au prochain démarrage à froid naturel, une version publiée, signée indépendamment et stable depuis au moins 30 minutes. Elle est préparée dans la zone de version protégée, notée comme en attente et démarrée sans second démarrage ni fenêtre de sélection.
  • manual et off restent inchangés. Si la préparation, l'intégrité, le test de paquet ou l'appel réseau échouent, le chemin de démarrage existant continue. Une session déjà en cours n'est jamais terminée par ce chemin de démarrage à froid.
9.1.231
  • Dans un journal Wire réel, une réponse Telegram a échoué avant l'envoi avec 400: Bad Request: can't parse entities: Can't find end of Italic entity. L'appel avait explicitement format: markdownv2 ; aucune partie de texte n'a été remise (0 sur 1).
  • L'envoi MCP Telegram ne répète désormais que la partie de texte concernée, exactement une fois en texte brut, lorsque Telegram signale exactement une erreur de parsing d'entité. Le chat, le lien de réponse, la limite de partie et les pièces jointes suivantes sont conservés.
  • Les erreurs réseau, les chats inconnus, les erreurs de droits et les appels déjà envoyés en texte brut ne sont pas répétés par ce repli. Ainsi, aucune erreur n'est masquée et aucune partie réussie n'est envoyée deux fois.
9.1.230
  • Après exclusion des erreurs historiques déjà corrigées avec 9.1.228 et 9.1.229, il restait dans les 1 200 derniers résultats d'outils d'un profil d'agent des timeouts Bash répétés comme prochain bloc fermé. Les commandes concernées parcouraient plusieurs fois tout le répertoire utilisateur ou toute la Dropbox de manière récursive et se terminaient après 60 secondes sans résultat exploitable.
  • Bash rejette désormais, avant le démarrage du processus, exactement deux formes de recherche illimitées : find sur tout le répertoire utilisateur et grep récursif sur ..
  • Le texte d'erreur nomme immédiatement l'alternative limitée : Glob avec un motif de fichier ancré, Grep avec chemin/glob ou un sous-dossier de projet connu. Les recherches ciblées limitées à src, test ou d'autres sous-arbres nommés restent autorisées sans changement.
  • Le timeout n'a pas été augmenté et les commandes Bash ne sont pas relancées automatiquement. Il n'en résulte ni attente plus longue, ni risque d'exécuter deux fois une commande d'écriture.
9.1.229
  • Après la réparation des outils différés, la plus grande famille d'erreurs connexes dans un historique réel était le Write en plusieurs parties : champs obligatoires manquants (part, start_line, final), un nombre total de lignes deviné à tort à l'avance, des numéros de partie obsolètes et un ancien état de continuation encore actif après des erreurs produisaient des répétitions sans travail utile.
  • Le numéro de partie, la ligne de début et le mode sont désormais dérivés de l'état réellement stagé lorsqu'ils manquent. Les valeurs explicitement envoyées restent visibles et continuent d'être rejetées en cas d'écart.
  • expected_lines est facultatif et peut n'être fourni qu'avec la partie finale. S'il est défini, le débordement et le contrôle final exact restent inchangés, fail-closed.
  • final=true reste obligatoire pour la fin. Sans cette marque de fin explicite, rien n'est écrit ; le fichier cible reste inchangé jusqu'à la fin. Le contrôle SHA-256 facultatif reste en vigueur.
9.1.228
  • Dans les 1 000 derniers résultats d'outils réels se trouvaient 66 erreurs. Le plus grand bloc isolé clairement réparable comptait 10 erreurs Tool not found : neuf fois mcp__mnemo__mem_transcript_recent, une fois mcp__mnemo__mem_question_answer. Les deux outils étaient enregistrés, mais simplement non chargés à l'étape concernée en raison du budget de jetons.
  • Après une erreur exacte Tool "<nom>" not found, le tour mémorise désormais ce schéma pour l'étape immédiatement suivante. La sélection normale le reprend ensuite dans la liste d'outils déjà enregistrée.
  • Les autres textes d'erreur, les résultats réussis et les noms d'outils divergents ne modifient pas l'état. La limite LRU existante de quatre schémas reste en vigueur ; un outil réellement inconnu n'est ni inventé ni exécuté pour autant.
  • Aucun outil n'a été placé en permanence dans chaque prompt. La consommation normale de jetons de schéma reste donc inchangée ; seule une mauvaise répétition déjà payée est évitée à partir de la seconde tentative.
9.1.227
  • Un historique réel d'un journal Wire contenait 119 appels ToolSearch. 35 d'entre eux se terminaient sans correspondance ; 27 résultats nuls concernaient l'historique Telegram, la récupération de messages ou la recherche de souvenir associée.
  • 9.1.226 résolvait déjà 8 de ces 35 anciens résultats nuls avec la liste d'outils actuelle. Le cas principal restant était des requêtes surdéterminées comme +telegram history messages lesen, où le modèle avait marqué à tort des mots sémantiques comme composants de nom obligatoires.
  • Le principe d'harmoniser les indices d'outils et la surface d'outils après filtrage a été repris de DeepAgents. Aucun code tiers n'a été copié : BLUN tente toujours d'abord la recherche exacte et stricte et n'assouplit les termes + en termes de recherche sémantiques qu'après un réel résultat nul.
  • Le repli n'exécute aucun outil. Il ne charge que le schéma le mieux noté (ou les ex æquo réels), exige au moins 75 % de correspondances lorsque plusieurs termes sont donnés et reste fermé pour les termes hors domaine.
  • Comparaison avec le paquet 9.1.226 fraîchement installé et les mêmes 35 requêtes historiques : avant 8 correspondances, après 21, soit 13 correspondances réelles supplémentaires et 0 correspondance antérieure perdue.
  • Aucun nouvel appel de modèle, de recherche, de réseau ou d'embedding n'a été inséré. L'historique brut, l'exécution d'outils, les approbations et l'ensemble de schémas permanent restent inchangés.
9.1.226
  • Un historique réel d'un journal Wire contenait 6 275 étapes de modèle achevées. Dans les 50 dernières étapes, la construction de requête locale était à p50 0 ms et p90 1 ms, et la consommation de flux locale à p50 1 ms et p90 3 ms. Le temps d'attente jusqu'au premier jeton serveur était en revanche à p50 11 842 ms et p90 14 846 ms. Une nouvelle optimisation locale de micro-performance n'était donc pas attestée comme levier efficace.
  • Le chemin d'apprentissage validé dérivé d'Evolver existait déjà : les preuves rouge-vert sont enregistrées par profil avec le statut pending, recorded ou expired. Mais les utilisateurs n'en avaient aucune vue locale.
  • 9.1.226 ajoute /improve avec l'alias /learning. Le panneau affiche les trois compteurs de statut et, pour le candidat ouvert le plus récent, uniquement des données de preuve limitées et sans danger : ID de candidat, nom d'outil et douze caractères du hachage de commande.
  • La commande ne lit que le stockage local du profil actif. Elle ne démarre aucun appel de modèle, de recherche, de hub ou d'embedding et ne modifie aucun candidat. Les valeurs de statut inconnues et les caractères d'affichage non sûrs sont rejetés ou représentés comme unknown.
  • Tous les nouveaux textes UI pour l'allemand, l'espagnol, le français, le suédois et le tchèque ont réussi le contrôle linguistique obligatoire et la vérification de reçu ultérieure ; les six catalogues UI contiennent les clés complètes.
9.1.225
  • Dans un historique réel d'un journal Wire, 88 entrées config.update occupaient 4 078 566 octets. 83 d'entre elles portaient le prompt système complet.
  • Le prompt déclarait un horodatage de session stable, mais le redéfinissait à chaque démarrage de processus. Après normalisation de cet horodatage, il restait 45 variantes sémantiques et 38 répétitions consécutives causées uniquement par le nouvel horodatage.
  • Ces 38 répétitions occupaient 781 179 octets, soit 19,16 pour cent de tous les octets de prompt système dans les événements de configuration mesurés. En même temps, le préfixe de prompt fournisseur réutilisable était inutilement modifié après les redémarrages.
  • 9.1.225 lie l'horodatage, pour les agents principaux et sous-agents nouveaux et repris, à Session.metadata.createdAt. Les anciennes métadonnées invalides retombent défensivement sur l'ancienne valeur en mémoire.
  • L'historique brut, le contenu du prompt, les outils, le choix du modèle et le compactage restent inchangés. Il n'y a aucun appel de modèle, de recherche ou d'embedding supplémentaire.
9.1.224
  • Le dernier démarrage mesuré a pris 16,85 secondes pour l'initialisation parallèle de cinq serveurs MCP. La reprise de session et le parsing du journal Wire étaient nettement plus courts, avec environ 0,55 et 0,18 seconde.
  • Le chemin de tour attendait jusqu'ici cette initialisation MCP avant chaque requête, même lorsqu'une pure salutation locale recevait ensuite volontairement zéro outil dans la requête de modèle.
  • 9.1.224 reprend, de la comparaison avec DeepAgents, la limite des outils chargés à la demande : seule la courte conversation locale sans outils peut répondre immédiatement. Les tours Telegram, les pièces jointes, les déclencheurs système et chaque requête de type travail attendent toujours l'initialisation MCP complète.
  • L'historique brut, la configuration MCP, les schémas d'outils et les tours de travail normaux restent inchangés. Aucun serveur n'a été désactivé et aucun appel de modèle, de recherche ou d'embedding supplémentaire n'a été introduit.
9.1.223
  • Une étape 775.5 s'est terminée vide avec fall=length, 8 192 jetons de complétion sur 8 192 et seulement sept caractères de raisonnement. L'ancienne logique relançait ensuite la même grosse requête et doublait le budget de complétion à 16 384 jetons.
  • Le CPU local était pendant l'attente à environ 0 pour cent ; la construction de requête durait 0-1 ms et le transport environ deux secondes. Le goulot mesuré était donc la génération du modèle plus la nouvelle tentative à budget complet, pas la TUI.
  • Seul le cas attesté length + budget entièrement épuisé + moins de 64 caractères de raisonnement reçoit désormais une nouvelle tentative économe avec un facteur 0,125 et au moins 1 024 jetons.
  • Les réponses length riches en raisonnement et non entièrement épuisées conservent l'extension existante avec un facteur 2. Les autres classes de nouvelle tentative restent inchangées.
  • Pour un cas mesuré, le second budget descend de 16 384 à 1 024 : 15 360 jetons, soit 93,75 pour cent de moins dans la nouvelle tentative.
9.1.222
  • Le programme de mise à jour en cours avait transmis une version préparée par IPC au King actif. Le lanceur a alors terminé le noyau en cours avec le code de sortie 76 et devait démarrer un processus de remplacement. Lors du basculement mesuré vers 9.1.219, un profil d'agent est ainsi resté déconnecté.
  • Les mises à jour d'arrière-plan ne font désormais plus que charger et vérifier la nouvelle version et la déposent pour le prochain démarrage naturel. Elles n'envoient aucun message IPC de redémarrage, ne terminent aucune TUI active et ne démarrent aucun processus de remplacement.
  • Au prochain démarrage normal de king, la sélection existante réapparaît : mettre à jour, sauter une fois ou attendre la prochaine version. Ce n'est qu'après la décision d'installation que le lanceur démarre à partir du paquet préparé déjà vérifié ; aucun second téléchargement n'est nécessaire.
9.1.221
  • Les messages inchangés non encore couverts par tokenCount utilisent désormais exactement une estimation de jetons par révision de contexte. Les accès de statut et de rendu répétés ne scannent plus le même historique croissant.
  • Les nouvelles parties de texte, les appels d'outils, les modifications d'historique, le compactage, Undo et un nombre modifié de messages déjà couverts invalident immédiatement le cache. L'historique brut, l'historique persisté et la valeur de jetons signalée restent identiques au chemin précédent.
  • Sept séries de mesures avec 300 messages synthétiques et 250 requêtes inchangées chacune ont donné en médiane 42,1218 ms -> 0,1755 ms, soit environ 99,583 % de temps de calcul en moins dans ce chemin chaud. Les deux versions ont livré exactement la même valeur estimée de 127 838 jetons.
  • La version réduit le travail CPU pour l'estimation locale. Elle ne prétend pas réduire les jetons d'entrée réellement envoyés au modèle.
9.1.220
  • La projection des longues réponses d'assistant enregistre désormais son résultat dans une WeakMap, tant que l'objet message, le tableau de contenu, la partie de texte et le texte source exact restent inchangés. L'historique brut et le contenu projeté restent identiques au chemin précédent.
  • Une modification du texte, du tableau de contenu ou de la partie de texte écarte immédiatement l'entrée. Des objets message différents ne partagent aucun cache.
  • Cinq mesures avec chacune 1000 projections de répétition ont donné en médiane 16,489 ms -> 0,202 ms, soit environ 98,8 % de temps de calcul en moins dans ce chemin. Les deux versions économisaient exactement 21 206 caractères.
9.1.219
  • Les simples confirmations textuelles courtes comme ok, danke ou les réponses DM Telegram avec un signal de continuation ajouté à la fin ne lisent plus le stockage des candidats d'apprentissage validés à chaque étape de modèle.
  • Les prompts significatifs, les pièces jointes et les tours avec activité d'outils actuelle continuent de se synchroniser. Un rappel d'apprentissage déjà visible est conservé même pendant une confirmation sautée.
  • La mesure réelle sur le paquet sur 50 confirmations est passée de 50 à 0 lectures du répertoire de candidats. La contre-épreuve significative a lu exactement une fois. Aucun appel de modèle, d'embedding ou de réseau ne s'y est ajouté.
9.1.218
  • Le même contrôle rouge-vert créait, dans 9.1.217, lors d'une répétition avec de nouveaux ID d'appels d'outils, un second candidat ouvert. La mesure isolée a donné deux ID, 2 fichiers ouverts et 726 octets.
  • Après l'enregistrement du seul candidat le plus récent, le candidat identique plus ancien serait réapparu comme rappel. Cela aurait créé un second cycle de rappel et de MistakeRecord pour la même leçon ouverte.
  • bin/validated-learning-signal.cjs réutilise désormais un candidat déjà ouvert du même profil et du même commandHash. Les autres commandes de vérification restent séparées ; les candidats enregistrés ou expirés n'absorbent aucun événement ultérieur.
  • La re-mesure a donné le même ID, 1 fichier ouvert et 363 octets. Il n'y a aucun appel de modèle, d'embedding ou de réseau supplémentaire.
9.1.217
  • Dans 9.1.216, chaque MistakeRecord réussi marquait le candidat d'apprentissage ouvert le plus récent comme traité, même si l'entrée concernait une autre erreur. La preuve était ainsi persistante, mais pas exactement corrélée à son enregistrement ultérieur.
  • bin/validated-learning-signal.cjs lit désormais le candidateId facultatif d'un MistakeRecord réussi et ne clôt que le candidat ouvert exactement correspondant. Un ID manquant, erroné ou externe laisse tous les candidats ouverts inchangés.
  • blun.mjs nomme l'ID de candidat stable dans le rappel visible et introduit candidateId comme champ facultatif dans le schéma MistakeRecord. Il n'y a aucun appel de modèle, d'embedding ou de réseau supplémentaire.
  • La corrélation reste liée au profil. Ni les commandes brutes ni les sorties d'outils n'atterrissent dans le stockage de candidats.
9.1.216
  • bin/validated-learning-signal.cjs dépose désormais les signaux rouge-vert confirmés, à l'échelle de l'installation, sous <BLUN_SHARED_HOME>/self-improvement/validated-learning/<profil>/. Un candidat d'apprentissage reste ainsi conservé sur l'ensemble des tours utilisateur, des compactages et des différents portails de la même installation BLUN.
  • Le stockage est lié au profil, append-only et sûr en concurrence : chaque candidat crée un fichier JSON immuable et exactement un marqueur .recorded ou .expired. Fichier temporaire, lien physique et suppression du fichier temporaire empêchent un écrasement silencieux en cas d'écritures parallèles.
  • Ne sont enregistrés que le type, le statut, le profil, le nom d'outil, le SHA256 de la commande, les IDs d'appels d'outils et les horodatages. La commande brute, le texte d'erreur et la sortie d'outil réussie ne sont pas persistés.
  • Un MistakeRecord réussi marque le candidat ouvert le plus récent exactement une fois comme traité. Les candidats ouverts expirent après 24 heures. Sans home commun, le comportement en mémoire existant est conservé, fail-open.
  • Ce n'est pas encore une modification de code automatique ni une approbation auto-accordée. La version ne crée que la preuve d'apprentissage portable et indépendante du portail, sur laquelle de futures fonctions d'évaluateur et d'approbation intégrées pourront travailler en sécurité.
9.1.215
  • Les solutions ne doivent présupposer ni des agents internes précis, ni les noms de machines internes, ni les groupes Telegram, ni les instances Mnemo, ni une chaîne d'approbation interne à BLUN.
  • Pour l'auto-amélioration, les rôles internes sont abstraits comme fonctions produit : contrôleur de périmètre et d'approbation, évaluateur isolé, preuve versionnée et mesure de retour canary automatique avec rollback.
  • Seules les adaptations à faible risque, mesurablement limitées et systématiquement meilleures ou neutres lors des contre-épreuves peuvent être reprises automatiquement. Le code, les droits, les secrets, la facturation et la production restent soumis à l'approbation de l'utilisateur ou de l'administrateur.
  • La première mise en œuvre du contrôle intégré est validée manuellement en interne ; ensuite, le contrôle peut lui-même vérifier, mais ne peut pas modifier sa propre limite de sécurité.
9.1.214
  • 9.1.213 avait établi le bon chemin de stockage persistant via MistakeRecord, mais attendait toujours que le modèle reconnaisse seul le bon moment à partir de l'historique d'outils.
  • Nouveau : bin/validated-learning-signal.cjs. Le module ne considère que le tour utilisateur actuel et ne reconnaît que la même commande shell de vérification qui échoue d'abord puis réussit ensuite.
  • Un injecteur dynamique dans blun.mjs rappelle, dans ce cas attesté, de consigner une leçon réutilisable avec MistakeRecord. Le texte de la commande et l'erreur brute ne sont pas copiés dans l'indication.
  • Les autres commandes, les erreurs de lecture/outil normales, un nouveau tour utilisateur ou un appel MistakeRecord déjà réussi ne créent ni ne conservent aucune indication. Aucun enregistrement automatique n'a lieu.
9.1.213
  • Le contrat de mission exigeait, après un test rouge-vert réussi, l'appel de record_error_memory. Cet outil n'existe pas dans le paquet King. Le chemin d'apprentissage persistant existant s'appelle MistakeRecord et écrit dans le Mistake.md commun.
  • La discipline d'Evolver était ainsi déjà formulée, mais la dernière étape vers notre propre mémoire commune aux agents était morte : une solution confirmée pouvait suivre le contrat sans pour autant être enregistrée de façon persistante.
  • Le contrat appelle désormais MistakeRecord après la réexécution passée au vert. Les erreurs brutes restent exclues ; seule la leçon confirmée par une contre-épreuve réussie est enregistrée.
  • Mistake.md, sa sélection de pertinence et son format de stockage n'ont pas été remplacés ni modifiés. Seule la liaison du contrat d'apprentissage validé à l'outil existant a été réparée.
  • Seuls blun.mjs, le nouveau test structurel test/validated-learning-route.test.js et la version dans package.json ont été modifiés.
9.1.212
  • L'injecteur ErrorMemory formatait plusieurs gènes de stratégie même pour de pures salutations et de courtes confirmations. Mistake.md et la mémoire personnelle avaient déjà, pour la même classe de messages, une limite de pertinence commune ; seul ErrorMemory la contournait.
  • L'injecteur utilise désormais lui aussi isLowInformationMistakeTurn et termine la projection avant la sélection et le formatage des gènes de stratégie. Les entrées d'erreur et de stratégie persistées restent inchangées ; seule leur projection inutile dans les micro-requêtes disparaît.
  • Cas de référence mesuré Comment vas-tu? avec onze entrées enregistrées : avant cinq règles sélectionnées, 1 417 caractères, environ 355 jetons ; après 0 caractère et 0 jeton.
  • Seuls blun.mjs, test/error-memory-performance-policy.test.js et la version dans package.json ont été modifiés.
9.1.211
  • Le King n'acquitte les lignes de file que lorsque le message a été accepté. Avant une session active, injectChannelEnvelope rejette pourtant un message adressé comme dropped, sans l'acquitter ni le garer. Le point de contrôle peut ainsi rester de façon persistante bloqué sur exactement cette première ligne.
  • Test rouge réel _proof/telegram-profile-checkpoint-red.cjs : attendu queued, mesuré dropped, exit 1.
  • La même erreur se trouve dans le chemin de commande Telegram : /loop avant une session active n'est pas placé dans queuedMessages ; la fonction d'acquittement reste sans consommateur. Test rouge réel _proof/telegram-remote-command-presession-red.cjs : attendu une longueur de file 1, mesuré 0, exit 1.
  • injectChannelEnvelope traite désormais une session pas encore prête à recevoir des messages comme une session occupée : le texte du modèle, l'origine d'affichage et l'acquittement ultérieur sont conservés dans la file de canal existante.
  • injectTelegramRemoteCommand construit l'entrée de file avant le contrôle de session. /loop et les autres commandes Telegram directes sont garées, en cas de session manquante, avec leur fonction channelAcknowledge et ne sont exécutées qu'à la frontière sûre existante.
  • L'ordre et la règle de point de contrôle existante restent inchangés : une ligne de file n'est acquittée qu'après acceptation ; les acquittements ultérieurs ne peuvent pas sauter une ligne encore ouverte devant eux.
9.1.210
  • Le transfert actif de 9.1.208/9.1.209 pouvait terminer un King en cours pour une mise à jour. Sur le MSI, la session en cours a ainsi été terminée lors du basculement 9.1.206 -> 9.1.207 et non reprise automatiquement.
  • 9.1.209 n'a donc pas été intégrée au manifeste public et a été marquée sur npm comme non déployable.
  • La consigne est désormais techniquement imposée : une mise à jour automatique ne doit jamais terminer le King en cours. Elle est seulement téléchargée et marquée comme pending. L'activation n'a lieu qu'à un prochain démarrage normal.
9.1.209 Retirée
  • Non publiée. Le transfert de mise à jour actif pouvait terminer un King en cours ; la version n'est donc pas entrée dans le manifeste public et a été marquée sur npm comme non déployable.
9.1.208
  • Sur le MSI, 27 démarrages de King et 15 états de version ont été mesurés en une journée. Les redémarrages coïncidaient chacun avec des sauts de version ; un motif de sortie spécifique n'y est toujours pas journalisé.
  • Le programme de mise à jour préparait les nouvelles versions du manifeste toutes les minutes. La version 9.1.208 introduit donc une fenêtre de calme de 30 minutes avant qu'un nouveau runtime supplémentaire puisse être activé.
  • Les anciens états de runtime sont limités, après activation réussie, aux trois versions les plus récentes. La suppression n'a lieu que si tous les leases d'installation de l'ancien état ont été acquis exclusivement. Les layouts actifs, occupés ou inconnus restent intacts.
  • La logique de protection vit aussi dans le noyau nouvellement chargé. Elle s'applique donc après l'activation automatique, même si le lanceur parent persistant provient encore d'une version plus ancienne.
  • Les huit états de version MSI mesurés n'occupaient ensemble que 778 Mo. Ils n'expliquent pas le disque de 454 Go presque plein ; le grand consommateur reste un constat ouvert séparé.
9.1.207
  • Les répétitions de télémétrie échouée sont limitées, par passage, aux 16 fichiers les plus anciens et s'arrêtent à la première erreur serveur temporaire, au lieu de continuer à traiter tout l'arriéré.
  • Le spool d'erreurs conserve les 512 fichiers les plus récents dans la limite de 16 Mio et de sept jours. Le events.jsonl normal est explicitement exclu du nettoyage.
  • Avant la version, il y avait réellement 4 248 fichiers d'erreur avec 11 631 974 octets. Après activation automatique, il restait 512 fichiers avec 2 260 908 octets : 3 736 anciens fichiers d'erreur et environ 9,37 Mo de charge en moins.
9.1.206
  • Les grandes réponses d'assistant déjà archivées sont désormais remplacées, avant la projection de boucle, par leur référence d'archivage limitée et relisible. Un nettoyage de texte ultérieur ne peut ainsi plus invalider le hachage enregistré.
  • Trois fichiers d'archivage réels ont été vérifiés octet pour octet contre leurs hachages SHA-256 de message enregistrés : 38 567, 13 941 et 24 787 caractères, tous présents et tous exactement concordants.
  • Sur exactement les mêmes 41 480 entrées du journal Wire avec 311 messages, la projection de modèle est passée de 87 724 à 63 234 caractères : encore 24 490 caractères de moins, soit environ 6 123 jetons d'entrée en moins par appel concerné.
  • L'historique brut et les fichiers d'archivage privés complets restent inchangés et lisibles page par page via leur chemin.
9.1.205
  • Les boucles de réponse au sein d'un message d'assistant sont désormais reconnues même avec de petites différences de ponctuation ou de formulation. Un cluster exige au moins trois correspondances avec une similarité conservatrice 0,88 ; la première version est conservée, l'historique brut n'est pas modifié.
  • Dans un cas conservé, une vraie réponse en boucle est passée de 24 787 à 22 711 caractères : 2 076 caractères, soit environ 519 jetons d'entrée en moins.
  • Les blocs de code délimités restent protégés octet pour octet. La narration d'outils, les injections, les paires et les économies sous 1 000 caractères restent inchangées.
9.1.204
  • Le rappel d'erreurs ne charge plus aveuglément les onze règles à chaque ronde de travail. Les quatre règles de preuve et de contre-épreuve indispensables 4, 9, 10 et 11 restent toujours actives ; au plus deux règles supplémentaires sont ajoutées de manière déterministe selon la mission actuelle.
  • Dans la collection de règles réellement livrée, le bloc répété est passé de 2 442 à 1 272 caractères : 1 170 caractères, soit environ 293 jetons d'entrée en moins par ronde de travail concernée.
  • La sélection ne génère aucune requête de modèle, de recherche, de reranking ou d'embedding. Les petites collections de règles personnalisées restent complètes ; en cas d'erreur de sélecteur, l'ancien bloc complet reste le repli.
9.1.203
  • Une ToolSearch vide est désormais un résultat nul achevé avec succès au lieu d'une erreur d'outil rouge. La réponse nomme l'outil autorisé manquant et interdit une répétition avec des synonymes.
  • Dans un historique mesuré se trouvaient 32 recherches vides avec 29 formulations ; dans un tour conservé, la même capacité Telegram manquante était redemandée directement avec une seconde recherche après l'erreur rouge.
  • Aucune requête de modèle, de reranking ou d'embedding supplémentaire, aucun nouveau schéma résident et aucune modification des outils ou des autorisations.
9.1.202
  • La projection de contexte locale dérivée de DeepAgents montre, pour les grands répertoires de travail, de préférence les entrées de niveau supérieur au lieu de détails profonds issus des premiers dossiers. Les petites listes de répertoires restent octet pour octet identiques.
  • Une racine d'agent contient 509 entrées de niveau supérieur (89 dossiers, 420 fichiers). Avant, la projection de modèle ne montrait en 1 981 caractères que 9 dossiers de niveau supérieur ; maintenant elle en montre 30 en 832 caractères.
  • Économie mesurée : 1 149 caractères, soit environ 287 jetons par requête. La persona, les règles de travail, l'historique brut et l'accès aux outils restent inchangés.
9.1.201
  • Une hygiène de projection dérivée de DeepAgents condense la mémoire d'erreur statique sans perdre aucune des 11 règles ou vérifications enregistrées.
  • Les anciens textes détaillés de mémoire d'erreur ne sont condensés que dans la projection de modèle. L'historique brut, les réponses normales et les résultats d'outils restent inchangés.
  • Dans la projection, seule l'injection la plus récente de chaque type (erreur, correction d'erreur) est conservée.
9.1.200
  • La nouvelle commande locale /context affiche séparément la requête de modèle réellement projetée, l'historique de conversation enregistré, les schémas d'outils, le budget de compactage et la marge restante.
  • La vue ne lit que session.getContext(). Elle ne démarre aucune requête de modèle, aucune interrogation de consommation gérée, aucun service et aucun redémarrage.
  • Les résultats d'outils externalisés nomment désormais un chemin de relecture exact : Read avec au plus 20 lignes puis un line_offset poursuivi. Cela empêche la forme mesurée, où un agent redemandait la même grande zone avec Read, Grep et Bash.
  • /premortem existait déjà avant 9.1.200 et n'est explicitement pas vendu comme nouvelle fonction de cette version.
  • Pour les nouvelles traductions, le contrôle linguistique obligatoire n'a pas donné de validation faute de contrôle indépendant des textes courts. /context n'utilise donc que des désignations localisées déjà validées ; aucun texte cible non vérifié n'a été intégré.
9.1.199
  • Une vue de modèle actuelle contenait, dans une seule réponse d'assistant, 13 941 caractères avec 100 blocs de paragraphe. Seuls 20 blocs étaient distincts ; six groupes se répétaient exactement et occupaient 9 579 caractères.
  • 9.1.199 ne condense que ces répétitions exactes au sein d'une seule réponse de texte pur, dans la vue de modèle. L'historique de session brut reste inchangé.
  • Le compactage ne s'applique qu'à partir de trois répétitions exactes et d'au moins 1 000 caractères économisés. Les blocs de code, les contenus mixtes, les appels d'outils, les messages d'injection, les blocs courts et les économies plus petites restent inchangés.
  • Cela suit le principe DeepAgents de préserver une vérité relisible et de n'alléger que la vue de modèle active. Il n'y a aucun appel de modèle ou d'embedding supplémentaire.
9.1.198
  • Un historique actuel contenait un résultat Grep déjà marqué par l'outil comme truncated: true, avec 50 042 caractères. L'externalisation de résultats individuels reconnaissait bien la taille, mais laissait pourtant ces résultats, via un retour précoce, entièrement dans la vue de modèle.
  • 9.1.198 ne supprime que cette exception. Un Read tronqué utilise le chemin source existant sans doublon ; les autres résultats tronqués archivent exactement le texte complet renvoyé par l'outil.
  • Le renvoi conserve truncated: true et porte stored_result_scope: tool_truncated_output. On ne prétend donc pas avoir restauré une sortie brute que l'outil n'a jamais fournie.
  • Le motif suit DeepAgents : les grandes sorties d'outils restent relisibles hors de la vue de modèle active, tandis que seul un petit renvoi y subsiste.
9.1.197
  • Même les pures confirmations de texte comme ok chargeaient jusqu'ici le rappel dynamique de Mistake.md. Sur le corpus de règles commun actuel, cela représentait 1 819 caractères de prompt, environ 455 jetons, bien qu'aucun contexte de travail ne soit poursuivi.
  • 9.1.197 reconnaît exclusivement les tours de texte purs pauvres en information, avant la lecture de l'une des deux sources Mistake, et y omet l'injection dynamique.
  • Les pièces jointes, les contenus non textuels et les continuations significatives comme ok, check updater conservent l'ancien chemin. Le repli de pertinence existant pour les vrais tours de travail reste inchangé.
  • Le motif provient du travail de comparaison AnythingLLM : les sources de contexte facultatives ne doivent atteindre la vue de modèle que si le tour actuel en a réellement besoin. Il a été intégré dans la politique BLUN existante sans appel de modèle ou d'embedding supplémentaire.
9.1.196
  • /reload existait localement, mais n'était pas reconnu depuis Telegram comme commande directe. La liste d'autorisation Telegram ne contenait pas le nom ; le message restait donc un texte de modèle normal.
  • 9.1.196 n'ajoute que reload à la liste existante des commandes Telegram adressées.
  • Le chemin Telegram utilise le même handler existant que la TUI locale : la session, les serveurs MCP, la configuration du runtime et de la TUI sont rechargés dans le processus en cours. Aucun tour de modèle ni redémarrage de processus n'est démarré.
  • /new et les autres messages slash non autorisés restent un texte de modèle normal.
9.1.195
  • Les mises à jour automatiques ont été exécutées, mais la TUI redémarrée atterrissait sur C:\ au lieu du dossier de projet précédent.
  • La TUI portait le bon dossier dans state.appState.workDir, mais ne transmettait lors du transfert de mise à jour que la session, la version et le mode. Le lanceur utilisait donc son dossier de démarrage d'origine pour la cible et le repli.
  • 9.1.195 transporte le dossier de projet actif dans le transfert et l'utilise pour la version cible, le repli et les mises à jour automatiques ultérieures de la même supervision.
  • Seuls les répertoires absolus existants sont acceptés. Les indications relatives, manquantes ou pointant vers des fichiers retombent sur le dossier du lanceur.
9.1.194
  • Le chien de garde de tour existant avertissait après 20 minutes, mais ne terminait ensuite aucun tour. Sur le Mac, un tour bloqué continuait après l'avertissement de 30 minutes jusqu'à au moins la minute 39.
  • 9.1.194 conserve l'avertissement après 20 minutes et termine un tour après 30 minutes sans progrès réel.
  • Le début d'étape, le texte de réflexion, le texte d'assistant, l'appel d'outil, les arguments d'outil, la progression d'outil et le résultat d'outil remettent à zéro le délai d'inactivité. Un long travail actif n'est ainsi pas terminé.
  • L'abandon existant après cinq appels d'outils identiques échoués reste distinct et actif, sans changement.
9.1.193
  • Plusieurs remises Telegram arrivaient avec le même chat_id et le même message_id jusqu'à quatre fois dans la même session.
  • 9.1.181 ne supprimait ces répétitions que plus tard de la vue de modèle. Avant cela, chaque copie pouvait déjà déclencher son propre tour de modèle et donc des coûts.
  • 9.1.193 introduit donc, avant le début du tour, un registre de remise limité à 2 048 identifiants. Le même identifiant Telegram n'est accepté qu'une seule fois par session ; les répétitions sont acquittées mais non journalisées et ne démarrent aucun tour de fournisseur.
  • Les nouveaux identifiants de message, les injections non utilisateur et l'historique brut restent inchangés. Lors de la reprise, le registre est reconstruit à partir des enregistrements de prompt acceptés.
9.1.192
  • Un Mac affichait encore King is thinking pendant 39 minutes après une approbation Bash refusée. L'appel d'outil lui-même avait bien été rejeté, mais le refus était renvoyé à la boucle de modèle en cours comme un résultat d'erreur ordinaire.
  • PermissionManager.requestToolApproval() ne livrait en cas de refus que block: true. Le pilotage par lots et fournisseur existant pouvait déjà terminer le tour avec syntheticResult.stopTurn = true, mais ne recevait pas ce signal.
  • Nouveau : bin/approval-rejection-stop.cjs. Les approbations refusées et annulées génèrent désormais un résultat d'erreur existant avec stopTurn: true. Le tour actuel se termine et les appels ultérieurs du même lot d'outils sont sautés. Le protocole d'approbation, la politique et le comportement fail-closed restent inchangés.
  • DeepAgents a confirmé la frontière d'interruption humaine explicite comme motif adapté. AnythingLLM et Evolver n'offraient pour cette erreur étroite aucun mécanisme plus fort que le contrat BLUN déjà présent.
9.1.191
  • DeepAgents propose avec /context une répartition familière et visible de la fenêtre de contexte au lieu d'une seule valeur globale.
  • Evolver exige pour le travail de performance un budget de prompt séparé pour la part système, la conversation, les outils et l'espace libre.
  • AnythingLLM économise les schémas d'outils grâce à un reranking basé sur embeddings. BLUN possède déjà pour cela le chemin d'outils différés, moins coûteux, sans appel de modèle ou d'embedding supplémentaire ; cette partie n'a donc pas été dupliquée.
9.1.190
  • Des événements de boucle tool.call enregistrés de façon persistante, seuls les champs d'affichage display et description sont retirés. L'identité, le nom d'outil, les arguments et l'attribution d'étape sont conservés.
  • Le runtime continue de traiter l'événement complet. L'affichage TUI, l'exécution d'outils et la reprise n'ont pas été basculés sur la projection.
  • Un journal Wire réel d'agent de 42 451 368 octets contenait 6 135 appels d'outils. Pour 5 679 d'entre eux, 3 125 874 octets ont pu être supprimés : 7,36 % de l'ensemble du journal Wire.
9.1.189
  • Un utilisateur avait choisi le bosnien et écrit en bosnien, mais King répondait en slovène. Dans le prompt de persona ne figurait que le mot anglais Bosnian ; l'espace linguistique étroitement apparenté n'était pas délimité explicitement.
  • Kako si?, Kako je King?, Ko si ti? et Ko stoji iza tebe? ne fonctionnaient pas comme courts dialogues bosniens autonomes. La capture d'écran de Ko stoji iza tebe? montrait même des recherches web au lieu d'une réponse directe.
  • Le simple check-in signalé a consommé environ 7 500 jetons. L'ancien chemin à faible effort permettait jusqu'à 8 192 jetons de complétion et conservait plusieurs anciens messages.
9.1.188
  • BLUN reconnaissait déjà une rechute réelle après trois réponses similaires, mais laissait les réponses obsolètes entièrement dans la vue de modèle. L'indication contre la boucle entrait donc encore en concurrence avec l'ancien état erroné.
  • DeepAgents aa8ae718644dac19d7f1cdc3febe2740a79fa058 fournit le motif de messages de remplacement limités et stables en index. AnythingLLM priorise les paires de conversation les plus récentes et traite l'historique comme contexte compressible en premier.
  • Un journal Wire contenait 42 265 671 octets, dont 25 423 100 octets de context.append_loop_event. Cela atteste la charge réelle de boucle, mais n'est pas présenté comme une économie directe de jetons de requête.
9.1.187
  • Le manifeste 9.1.184 effectivement diffusé portait l'horodatage 2026-08-26T12:15:06.5196457Z. Le parseur diffusé n'acceptait qu'une à trois décimales et rejetait donc l'intégralité du manifeste.
  • Sans repli valide, npm était seul à faire foi. Lors du staging de 9.1.185, la balise npm était donc brièvement visible, alors que le manifeste pointait encore vers 9.1.184.
  • La balise npm a été ramenée à 9.1.184. Le manifeste en ligne n'a été corrigé que sur son horodatage, ramené à 2026-08-26T12:15:06.519Z ; la version et l'intégrité sont restées inchangées. Trois appels sans cache et le vrai parseur client ont ensuite confirmé le manifeste.
  • SHA256 en ligne après la réparation : 8ec4eef17da2d92c96b4011c0239f367e5c0779d0f02e1eac61fdfe782d94601. Sauvegarde : /data2/websites/stage-20260811/blun-chat/public/blun-code-version.json.invalid-timestamp-20260826T125021Z.
9.1.186
  • Après un compactage complet, le prompt système existant n'est plus écrasé par des données de contexte locales relues. Son préfixe actuel reste ainsi stable au niveau de l'octet et réutilisable par le cache du fournisseur.
  • Le répertoire de travail, les fichiers AGENTS.md correspondants et les répertoires supplémentaires reçoivent une empreinte. Seul un réel changement provoque l'ajout du nouvel état comme message de contexte interne, invisible pour l'utilisateur.
  • Les données de contexte intégrées sont échappées avant le marquage interne. Un texte local ne peut donc ni fermer la limite du marquage ni injecter de nouvelles consignes système.
9.1.185
  • Deux profils d'agents se sont déconnectés aux alentours de la mise à jour automatique. Indépendamment de cela, un troisième profil, après un passage réussi de 9.1.182 à 9.1.183, est resté sur cette version et n'a pas préparé 9.1.184.
  • Deux erreurs concrètes ont été prouvées dans le chemin source : la TUI se terminait directement après process.send sans attendre la confirmation IPC. En outre, le lanceur, après un transfert réussi, n'attendait que la fin du nouveau processus et ne mettait en place pour lui aucune surveillance de mise à jour supplémentaire.
9.1.184
  • Les appels de modèle ordinaires emportaient en permanence les schémas d'outils GenerateImage et GenerateVideo, alors que l'utilisation d'outils mesurée ne contenait qu'un seul appel d'image et aucun appel de vidéo sur 3 183 appels.
  • 9.1.184 retire les deux schémas de l'ensemble de base chargé en permanence. Une demande explicite d'image, de vidéo ou d'animation ne charge que le schéma réellement nécessaire, dans le même tour.
  • Le même chemin de sélection s'applique aussi lorsqu'une demande média arrive pendant un tour en cours. Les questions de qualité, les contrôles de médias et les idées non contraignantes pour plus tard ne chargent aucun schéma de génération.
  • Les deux outils restent disponibles via ToolSearch. Le changement ne retire aucune capacité, il déplace des schémas rarement nécessaires hors des appels de modèle ordinaires.
9.1.183
  • BLUN King 9.1.183 rend la remise automatique par Telegram des médias terminés plus résistante aux erreurs de téléversement temporaires.
  • Le client ne relance l'envoi, un nombre limité de fois, qu'en cas d'erreur temporaire, reconstruit le téléversement en plusieurs parties à chaque tentative et s'arrête immédiatement en cas d'erreur permanente.
  • Les tentatives de remise épuisées sont journalisées séparément, sans exposer le jeton du bot ni supprimer l'envoi de repli normal.
9.1.182
  • Cette version corrige exclusivement la mise à jour automatique d'une session King en cours.
  • Le lanceur définissait jusqu'ici BLUN_NO_AUTO_UPDATE=1 dans le même environnement que celui utilisé à la fois par le noyau protégé et par la préparation de mise à jour du processus parent. L'ancien programme de mise à jour était ainsi correctement désactivé dans le noyau, mais le nouveau contrôleur de mise à jour parent se terminait lui aussi avant l'appel du manifeste public.
  • 9.1.182 préserve une désactivation explicitement définie pour le processus parent. La désactivation forcée n'est ajoutée qu'au démarrage du noyau protégé.
  • Mnemo reste une configuration interne et locale. Le paquet public ne contient pas Mnemo. L'entrée additive reste entièrement inactive sans chemin local Mnemo ni identité d'agent explicitement définie.
9.1.181
  • Les demandes utilisateur longues et identiques répétées ainsi que les identifiants de remise Telegram en double sont supprimés uniquement de la projection du modèle ; l'historique brut reste inchangé.
  • Un MCP Mnemo configuré est désormais ajouté au profil actif de la TUI King, au lieu d'être limité aux sessions du bridge Telegram.
  • Les 413 tests ont tous réussi ; les deux tests de mutation ciblés sont passés au rouge dès que la protection correspondante était retirée.
9.1.180
  • La préparation automatique de la mise à jour ne dépend plus exclusivement de l'IPC TUI-Ready ultérieur. Dès qu'il est établi que le noyau protégé est chargé, le lanceur démarre la préparation même si ce second signal s'est perdu.
  • La limite de sécurité pour le transfert proprement dit reste inchangée : réponse en cours, compactage, file de messages, outils, commandes shell et commandes de file empêchent toujours un redémarrage en plein travail.
  • L'état réel prouvait l'erreur : mode resume, installation 9.1.177, public 9.1.179, mais seul 9.1.176 préparé. La boucle n'était donc pas le premier blocage, car le contrôle d'inactivité n'intervient qu'après la préparation.
9.1.179
  • Les simples confirmations comme ok, ja, danke ou perfekt ignorent le courtier de mémoire personnel. Cela économise un appel au courtier et empêche, pour ces tours pauvres en contenu, jusqu'à 16 384 caractères d'injection mémoire inutile.
  • weiter, les pièces jointes, les questions, les commandes et les autres messages de fond conservent le chemin de rappel trans-portail actuel.
  • Un tampon d'arguments de type DeepAgents construit d'abord était plus lent que la simple concaténation dans quatre des cinq tours de mesure. Il a été entièrement abandonné et non publié.
9.1.178
  • La recherche d'outils différée reconnaît désormais un premier terme exact et unique. GetMedia media job status result charge ainsi GetMedia sans recourir à une large conjecture sémantique. Les noms courts ambigus restent volontairement non résolus.
  • La chaîne de production média insère des sauts de ligne pour les noms d'étapes complets. La dernière étape n'est plus tronquée au bord droit.
  • Le changement améliore la sélection d'outils et la lisibilité. Il ne modifie ni le modèle média ni la qualité d'image et ne revendique aucune vraie prévisualisation média.

Améliorations depuis 9.1.57

VersionChangement
9.1.177Les mises à jour automatiques reprennent désormais un mode de poursuite ou de redémarrage enregistré même lorsque le message de processus direct ne parvient pas, et affichent un avis clair immédiatement avant le redémarrage sûr de la TUI. Les placeholders historiques pour les arguments d'outils compactés, qu'ils soient en JSON compact, en JSON formaté ou en objet relu, sont supprimés avant de pouvoir être réexécutés. L'historique brut et tous les mécanismes de protection existants de la mise à jour restent inchangés.
9.1.176Tous les menus de sélection des commandes slash séparent désormais les options par une ligne vide et affichent les explications dans une deuxième couleur discrète. Le composant commun dessert 20 appels de menu ; les couleurs d'avertissement individuelles sont conservées.
9.1.175L'indication d'outils répétée à chaque requête de modèle passe de 1 749 à 825 caractères. La mesure économise environ 231 jetons d'entrée estimés par requête. Les onze obligations comportementales restent intactes ; l'historique brut, les schémas d'outils et les fichiers restent inchangés.
9.1.174L'extrait pertinent de Mistake.md affiché par requête de modèle est limité à 3 000 caractères au lieu de 4 000. Sur 100 requêtes réelles, cela économise en moyenne environ 253 jetons d'entrée estimés ; les titres sélectionnés sont restés identiques dans les 100 cas. Les fichiers complets et l'historique enregistré restent inchangés.
9.1.173BLUN King détecte les réponses textuelles pures récurrentes sur plusieurs tours Telegram. Après trois réponses presque identiques malgré de nouvelles consignes utilisateur, l'agent reçoit une fois un rappel de correction interne, au lieu de réémettre une ancienne question, liste ou message d'attente. Les messages, les processus et l'historique enregistré restent inchangés.
9.1.172La mise à jour automatique vérifie à nouveau une session en cours après une recherche sans résultat au démarrage. La vérification suivante intervient aléatoirement entre 60 et 90 secondes. Les versions publiées plus tard sont ainsi détectées sans redémarrage manuel. L'installation et le transfert de session continuent d'attendre une inactivité complète.
9.1.171BLUN King ne conserve par tour que les quatre derniers schémas d'outils chargés à la demande au lieu de douze. Les outils plus anciens restent accessibles via ToolSearch et sont rechargés lors de la sélection. Les outils de base chargés en permanence, l'historique enregistré et le comportement d'exécution restent inchangés.
9.1.170Regroupe les erreurs actuelles de fiabilité et de flux de travail : les tâches récurrentes conservent la consigne surdimensionnée la plus récente ; les placeholders d'arguments d'outils compactés sont retirés de la projection du modèle ; ToolSearch reconnaît les mots de recherche mémoire naturels, y compris le mot unique « store » ; l'affichage de boucle recharge l'état de planification ; /update pilote le transfert sûr en inactivité complète ; et /premortem fournit une analyse d'erreur visible et structurée.
9.1.169BLUN King conserve la sélection d'outils exacte et la recherche stricte par mot-clé actuelle inchangées. Ce n'est que lorsque cette recherche ne donne aucun résultat qu'une seconde exécution étroite cherche des termes allemands et anglais apparentés. Les exigences de nom avec + restent impératives ; au moins deux termes porteurs de sens et 75 pour cent de la requête doivent correspondre. Les trois recherches Telegram réellement échouées trouvent ainsi l'outil de file d'attente actuel, tandis qu'une requête inadaptée continue de se terminer sans résultat.
9.1.168BLUN King ne remplace plus les arguments plus anciens des appels d'outils par un placeholder interne que le modèle pourrait copier dans un nouvel appel. Les appels placeholder déjà présents et leurs résultats d'erreur associés ne sont supprimés que de la projection du modèle ; l'historique de session inchangé est conservé comme preuve.
9.1.167BLUN King 9.1.167 ne conserve, pour les tâches planifiées récurrentes, qu'une séquence sans lacune des sections de travail complètes les plus récentes. Si la section suivante dépasse la limite de 48 000 caractères ou de 24 messages, la sélection s'arrête au lieu de reprendre ensuite d'anciennes petites sections. Le contexte et l'ordre temporel restent ainsi cohérents. Dans un historique en cours mesuré, l'historique projeté est passé de 32 591 à 16 981 caractères. Cela économise 15 610 caractères, soit environ 3 903 jetons d'entrée estimés par requête comparable. L'historique brut, les étapes de tâche actuelles et le résumé de compactage restent inchangés.
9.1.166BLUN King 9.1.166 limite les tâches planifiées récurrentes à un contexte de travail isolé, au lieu de retransmettre à chaque étape de modèle l'intégralité de la conversation de l'agent principal. La tâche actuelle, le résumé de compactage le plus récent et les étapes de travail réelles les plus récentes restent disponibles dans une limite de 24 messages et 48 000 caractères. L'historique enregistré, les tours utilisateur normaux, les rappels uniques et les chemins de conversation rapides restent inchangés. Dans un historique mesuré, 2 043 étapes de modèle de tâches planifiées récurrentes ont consommé au total 298,7 millions de jetons d'entrée, soit en moyenne 146 188 jetons par étape.
9.1.165BLUN King 9.1.165 limite le budget de sortie des tours normaux à 24 576 jetons au lieu de 32 768. Les étapes légères conservent leur plafond actuel de 8 192 jetons, les modèles aux limites de sortie plus petites conservent ces valeurs plus basses, et un réglage utilisateur explicite reste prioritaire. Sur 27 049 réponses mesurées, 99 pour cent sont restées sous 9 970 jetons ; douze anciens cas extrêmes atteignaient exactement l'ancienne limite de 32 768 jetons et calculaient chacun environ six minutes de plus.
9.1.164BLUN King 9.1.164 limite le budget de sortie d'un compactage sur les grandes fenêtres de modèle à 16 384 jetons au lieu de 131 072. 39 compactations réussies ont nécessité au plus 10 781 jetons de sortie. Le nouveau cadre se situe 52 pour cent au-dessus de ce maximum mesuré et réduit de 87,5 pour cent le besoin potentiel de sortie et de cache KV par compactage. L'historique enregistré et les tours de conversation normaux restent inchangés.
9.1.163BLUN King 9.1.163 remplace les chargements de skills volumineux hors des 20 derniers messages dans la projection du modèle par une référence de rechargement compacte. Les chargements de skills actuels, petits et non rechargeables restent inchangés ; l'historique de conversation enregistré n'est pas réécrit. Dans un cas mesuré, un chargement de skill passe de 87 034 à 424 caractères projetés. Dès qu'il quitte la fenêtre de travail actuelle, cela économise 86 610 caractères, soit environ 21 653 jetons d'entrée estimés.
9.1.162BLUN King 9.1.162 limite les grandes vues du répertoire de travail dans le prompt système répété à 2 000 caractères. Les petites vues restent inchangées. Pour les vues tronquées, une indication claire renvoie toujours à la recherche complète avec Glob, Grep et Read. Dans un prompt mesuré, la vue passe de 3 988 à 1 983 caractères. Cela économise 2 005 caractères, soit environ 501 jetons d'entrée estimés par requête construite de la même manière.
9.1.161BLUN King 9.1.161 ne répète plus les noms des 112 outils délocalisés dans chaque description ToolSearch. La recherche par mot-clé, la sélection exacte d'après le nom complet ou le nom court non ambigu et le chargement permanent des douze derniers schémas sélectionnés sont conservés. Dans la représentation mesurée, la description répétée passe de 1 984 à 278 caractères. Cela économise 1 706 caractères, soit environ 426 jetons d'entrée estimés par requête construite de la même manière.
9.1.160Depuis BLUN King 9.1.160, la projection du modèle ne protège plus que les douze messages les plus récents, avant que les résultats d'outils plus anciens qui ont réussi et ne contiennent que du texte soient remplacés par une courte mention de fin. Les sorties d'erreur, les médias, les références de fichiers enregistrés, les douze messages les plus récents, l'historique brut et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, deux anciens résultats d'outils supplémentaires sont ainsi réduits. La projection du modèle passe de 81 800 à 78 402 caractères. Cela économise 3 398 caractères supplémentaires, soit environ 850 jetons d'entrée estimés par requête construite de la même manière.
9.1.159Depuis BLUN King 9.1.159, les arguments JSON valides des appels d'outils terminés hors des 12 messages les plus récents sont remplacés dans la projection du modèle par une courte mention. Le résultat d'outil associé, les 12 messages les plus récents, les appels non terminés, les arguments petits ou invalides, l'historique brut et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, trois arguments d'appels d'outils terminés passent de 2 849 à 165 caractères. Cela économise 2 684 caractères, soit environ 671 jetons d'entrée estimés par requête construite de la même manière.
9.1.158Depuis BLUN King 9.1.158, les messages de statut purs qui suivent immédiatement une réponse Telegram terminée sont remplacés, hors des 20 messages les plus récents, dans la projection du modèle par une courte mention. L'appel de réponse envoyé et son résultat, les messages actuels, les résumés après d'autres outils, les contenus mixtes, l'historique brut et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, six messages de statut historiques sont réduits de 1 837 caractères. Cela économise environ 460 jetons d'entrée estimés par requête construite de la même manière.
9.1.157Depuis BLUN King 9.1.157, les sorties d'outils réussies, appropriées et purement textuelles hors des 20 messages les plus récents sont remplacées dans la projection du modèle par une courte mention de fin. Les sorties d'erreur, les médias, les références de fichiers délocalisées, les 20 messages les plus récents, l'historique brut et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, 43 anciens résultats sont réduits. Cela économise 9 680 caractères, soit environ 2 420 jetons d'entrée estimés par requête construite de la même manière.
9.1.156Depuis BLUN King 9.1.156, les références enregistrées aux messages utilisateur hors des 20 messages les plus récents ne répètent plus leur aperçu avec début et fin à chaque requête de modèle. La marque de restauration, les indications de taille, le chemin de fichier lisible, les 20 messages les plus récents, les médias, l'historique brut, le fichier entièrement enregistré et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, cinq références historiques sont réduites et la projection du modèle passe de 99 143 à 96 001 caractères. Cela économise 3 142 caractères supplémentaires, soit environ 786 jetons d'entrée estimés par requête construite de la même manière.
9.1.155Depuis BLUN King 9.1.155, les références enregistrées aux messages utilisateur sont restaurées avant que les projections de texte puissent modifier le hash du message d'origine. Les délocalisations existantes restent ainsi efficaces, au lieu de retomber inaperçues sur le message complet projeté. L'historique brut, les références de fichiers relisibles, les 20 messages les plus récents, les médias et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, la projection du modèle passe de 105 810 à 99 143 caractères. Cela économise 6 667 caractères supplémentaires, soit environ 1 667 jetons d'entrée estimés par requête construite de la même manière.
9.1.154Depuis BLUN King 9.1.154, les sections de canal Telegram adressées hors des 20 messages les plus récents sont limitées à un aperçu de 500 caractères avec début et fin, au lieu de 1 000. Les métadonnées de canal complètes, le début et la fin du contenu du message, les 20 messages les plus récents, les pièces jointes, l'historique brut et les exports restent inchangés. Dans un instantané de session, mesuré dans des conditions stables, sept sections adressées historiques supplémentaires sont réduites. Cela économise 3 500 caractères, soit environ 875 jetons par requête répétée.
9.1.153Depuis BLUN King 9.1.153, la projection des contextes Telegram historiques préserve les métadonnées de canal complètes et la balise de canal fermante. Seul le contenu du message est tronqué. Même avec de vraies métadonnées Telegram de 161 caractères, la structure reste valide dans le budget de 250 caractères. La projection est idempotente, les canaux adressés suivants restent inchangés, et une enveloppe de canal qui dépasse le budget même sans contenu est transmise inchangée.
9.1.152Depuis BLUN King 9.1.152, les arguments des appels d'outils terminés quittent la projection de modèle active après quatre messages plus récents au lieu de huit. Le fil de session brut, les appels sans réponse ou mal formatés, les médias, les résultats d'outils et les quatre messages les plus récents restent inchangés. Dans un instantané de session mesuré récemment, deux appels terminés supplémentaires sont compactés ; par rapport à 9.1.151, cela économise 244 caractères de plus, soit environ 61 jetons estimés par requête répétée.
9.1.151Depuis BLUN King 9.1.151, les arguments des appels d'outils terminés quittent la projection de modèle active après huit messages plus récents au lieu de douze. Le fil de session brut, les appels sans réponse ou mal formatés, les médias, les résultats d'outils et les huit messages les plus récents restent inchangés. Dans un instantané de session mesuré, trois appels terminés supplémentaires sont compactés ; par rapport à 9.1.150, cela économise 317 caractères de plus, soit environ 80 jetons estimés par requête répétée.
9.1.150Depuis BLUN King 9.1.150, la délocalisation historique des résultats d'outils protège complètement les quatre messages les plus récents au lieu des huit. Les résultats d'outils plus anciens adaptés conservent une mention de restauration compacte de 600 caractères et leur chemin source ; l'historique brut, les sorties entièrement enregistrées, les médias et les quatre messages les plus récents restent inchangés. Dans un instantané de session mesuré, la fenêtre de quatre messages délocalise neuf résultats historiques supplémentaires et économise, par rapport à 9.1.149, 6 683 caractères de plus, soit environ 1 671 jetons estimés par requête répétée.
9.1.149Depuis BLUN King 9.1.149, la délocalisation historique des résultats d'outils protège complètement les huit messages les plus récents au lieu des douze. Les résultats d'outils plus anciens adaptés conservent une mention de restauration compacte de 600 caractères et leur chemin source ; l'historique brut, les sorties entièrement enregistrées, les médias et les huit messages les plus récents restent inchangés. Dans un instantané de session mesuré, trois résultats passent de 4 679 à 1 800 caractères ; cela économise 2 879 caractères de plus, soit environ 720 jetons estimés par requête répétée.
9.1.148Depuis BLUN King 9.1.148, les sections de canal marquées explicitement comme addressed=false dans le dernier paquet Telegram mixte sont également réduites. Les sections adressées, les médias, l'historique brut et les exports restent inchangés. Dans un historique mesuré, onze sections non adressées passent de 22 691 à 2 750 caractères ; cela économise 19 941 caractères, soit environ 4 986 jetons estimés par requête répétée.
9.1.147Depuis BLUN King 9.1.147, le micro-compactage protège complètement les douze messages les plus récents au lieu des vingt et utilise ainsi la même fenêtre de restauration que la délocalisation existante des résultats d'outils. Les arguments d'outils terminés plus anciens et les résultats d'outils adaptés ne sont réduits que dans la projection du modèle ; l'historique brut et les chemins de restauration restent inchangés. Dans un historique mesuré, cela économise 560 caractères de plus, soit environ 140 jetons estimés par requête.
9.1.146Depuis BLUN King 9.1.146, les résultats d'outils plus anciens déjà délocalisés sont limités dans la projection du modèle aux indications nécessaires à la restauration : nom de l'outil, nombre de caractères et chemin de fichier. Le contenu complet reste inchangé sur le disque, l'historique brut n'est pas modifié, et les douze messages les plus récents conservent leurs mentions détaillées. Dans un historique mesuré, cela réduit l'entrée de modèle répétée de 26 779 caractères, soit environ 6 695 jetons estimés par requête.
9.1.145Depuis BLUN King 9.1.145, un flux fournisseur interrompu est automatiquement répété lorsque seul un raisonnement interne est arrivé jusqu'alors. Le texte visible et les appels d'outils empêchent toujours une répétition automatique. Les étapes de suivi adaptatives à faible niveau de raisonnement utilisent un budget de sortie de 8 192 jetons ; les premières étapes, les étapes complexes et les étapes échouées conservent le budget configuré, et une nouvelle tentative après avoir atteint la limite de longueur peut l'augmenter. À la reprise d'une session, l'indication de transport actuelle du plugin Telegram n'apparaît plus comme texte de chat brut.
9.1.1449.1.144 limite les sections Telegram adressées hors des 20 messages les plus récents dans la projection du modèle à un aperçu de 1 000 caractères avec début et fin. Les 20 messages les plus récents, le message utilisateur le plus récent, les sections à la limite exacte, les pièces jointes, les métadonnées de canal, l'historique brut et les exports restent inchangés.
9.1.1439.1.143 retire l'indication de transport du plugin Telegram répétée des messages plus anciens dans la projection du modèle. Le contenu de canal, les métadonnées, les pièces jointes, le message utilisateur le plus récent, l'historique brut et les exports restent inchangés.
9.1.1429.1.142 réduit l'aperçu avec début et fin pour les parties de canal Telegram plus anciennes et non adressées dans la projection du modèle de 500 à 250 caractères. Les parties de canal adressées, le message utilisateur le plus récent, les pièces jointes, l'historique brut et les exports restent inchangés.
9.1.1419.1.141 retire les arguments des appels d'outils terminés plus anciens dans la projection du modèle dès 32 jetons estimés. Les résultats d'outils conservent leur seuil actuel ; les nouveaux messages et l'historique brut restent inchangés.
9.1.1409.1.140 limite par défaut le rappel Mistake basé sur la pertinence dans la projection du modèle à 4 000 caractères. Les fichiers Mistake complets, l'historique brut et les exports restent inchangés.
9.1.1399.1.139 limite les parties de canal Telegram plus anciennes et non adressées dans la projection du modèle à un aperçu de 500 caractères. Le message utilisateur le plus récent, les parties adressées, les pièces jointes, l'historique brut et les exports restent complets.
9.1.1389.1.138 ne conserve de chaque tâche Cron récurrente que la mention de réveil la plus récente dans la projection du modèle. Les rappels uniques, les tâches différentes, l'historique brut et les exports restent inchangés.
9.1.1379.1.137 ne protège plus que les douze messages les plus récents contre la délocalisation des sorties d'outils plus anciennes. Les résultats complets restent restaurables via l'historique brut et le chemin source.
9.1.1369.1.136 ne conserve dans la projection du modèle que la mention dynamique la plus récente de Mistake.md. Les sélections plus anciennes restent entièrement conservées dans l'historique brut et dans les exports.
9.1.135BLUN King 9.1.135 maintient l'environnement d'exécution Node.js géré en première position dans le PATH du processus de remplacement et de tous les outils subordonnés. Les commandes comme node et npm utilisent ainsi le même environnement d'exécution pris en charge que la TUI, au lieu de retomber sur une installation système plus ancienne.
9.1.1349.1.134 limite les messages de groupe Telegram non adressés dans la projection du modèle à un aperçu de 2 000 caractères avec début, fin et longueur d'origine conservés. Les messages directs et l'historique enregistré restent complets.
9.1.1339.1.133 sélectionne au plus cinq entrées complètes pertinentes dans le Mistake.md local au projet et dans celui qui est partagé, dans un budget commun de 6 000 caractères. Les sources complètes et les chemins de stockage sont conservés.
9.1.1329.1.132 maintient le prompt système de base léger de 4 850 caractères actif après l'initialisation générée. Cela économise par requête 18 259 caractères, soit environ 4 565 jetons estimés, sans retirer d'instructions ni d'outils.
9.1.1319.1.131 retire deux copies de règles plus anciennes de la projection du modèle dès que les contreparties déterminantes sont présentes. Le prompt standard diminue ainsi de 1 010 caractères, soit environ 253 jetons estimés par requête.
9.1.1309.1.130 remplace, hors des 20 derniers messages, le texte explicatif des étapes d'outils plus anciennes entièrement terminées par une courte indication. Les appels d'outils, les résultats, l'historique brut et les exports restent entièrement conservés.
9.1.1299.1.129 retire les textes d'aperçu des résultats d'outils plus anciens déjà délocalisés. Le chemin et les indications de taille restent visibles ; le contenu complet est conservé dans le fichier d'origine ou dans l'archive privée.
9.1.1289.1.128 limite le cache permanent des schémas d'outils chargés à la demande aux douze outils sélectionnés en dernier. Les outils évincés restent immédiatement accessibles via ToolSearch.
9.1.1279.1.127 raccourcit le catalogue ToolSearch répété. Les outils uniques apparaissent avec leur sélecteur court ; les espaces de noms MCP complets ne sont conservés qu'en cas de conflit de noms.
9.1.1269.1.126 sélectionne de manière déterministe au plus cinq sections correspondant à la conversation actuelle dans le fichier d'erreurs commun à tout l'environnement d'exécution. La projection est limitée à 6 000 caractères et ne nécessite aucun appel de modèle ou de réseau supplémentaire.
9.1.1259.1.125 ajoute la commande Telegram /status en lecture seule pour les utilisateurs appairés. Elle indique l'état de la machine, la version, le processus et la file d'attente, sans afficher d'identifiants de chat, de chemins, de secrets ni de contenus de messages.
9.1.1249.1.124 corrige les couleurs de marque inversées dans le logo BLUN compact sous la saisie. Les valeurs de statut, le nom de profil et la persona restent inchangés.
9.1.1239.1.123 retire de la projection du modèle les grands arguments JSON des appels d'outils terminés plus anciens. Le nom, l'identifiant, le résultat, l'historique brut et les exports restent complets.
9.1.1229.1.122 ne charge la politique de design complète que lors d'un travail visuel via l'outil Skill. Les requêtes non visuelles reçoivent un contrat d'activation compact ; les anciennes sorties purement textuelles sont en outre délocalisées plus efficacement.
9.1.1219.1.121 limite la taille totale des sorties textuelles pures plus anciennes des outils. Les résultats adaptés sont archivés en privé et remplacés dans la projection du modèle par des références de fichiers lisibles.
9.1.1209.1.120 délocalise les grandes réponses d'assistant plus anciennes dans des fichiers de session privés. Les 20 derniers messages, les chaînes d'outils et l'historique brut complet sont conservés.
9.1.1199.1.119 n'envoie à chaque étape de modèle qu'une petite sélection de skills fréquemment nécessaires. Tous les autres skills restent accessibles via l'outil Skill par leur nom ou leur objet.
9.1.1189.1.118 maintient l'horodatage de session dans le prompt système stable pendant une session en cours. Les parties de prompt inchangées peuvent ainsi réutiliser le cache de préfixe du fournisseur.
9.1.1179.1.117 maintient les quatre outils de base pour les médias immédiatement disponibles et ne charge la compréhension d'images et de vidéos, la synchronisation vidéo et la synchronisation des mouvements des lèvres qu'en cas de besoin via ToolSearch.
9.1.1169.1.116 ajoute un compactage proactif à partir d'environ 128 000 jetons d'entrée estimés, à une limite d'étape sûre. Le compactage utilise son propre prompt système léger ; les grands résultats Read utilisent leur chemin source existant.
9.1.115Les sessions reprises reconstruisent le prompt système du profil actuel, afin que les anciens instantanés de prompt surdimensionnés ne subsistent pas d'un redémarrage à l'autre. Les grandes vues de répertoire de travail sont limitées ; les fichiers complets restent disponibles via Glob, Grep et Read.
9.1.114La remise Telegram traite désormais Windows-EPERM comme un indice d'un processus TUI ou poller en cours, au lieu de dérouter les messages de la session visible. ToolSearch confirme un outil déjà chargé avec une correspondance exacte de nom, au lieu de signaler faussement qu'un outil à charger en cas de besoin manque.
9.1.113Les outils Telegram conservent au démarrage un chemin de remplacement au sein du même environnement d'exécution, si l'enregistrement géré du plugin est temporairement absent.
9.1.112Les grandes demandes utilisateur plus anciennes sont archivées hors de la fenêtre de travail actuelle ; l'historique brut complet reste disponible.
9.1.111Les tours Telegram avec pièces jointes reçoivent download_attachment automatiquement. Pour les tours normaux, l'outil reste délocalisé via ToolSearch, afin de conserver la charge de schémas réduite.
9.1.110Les nouvelles tentatives après une surcharge du fournisseur respectent l'indication Retry-After du serveur. L'installation automatique de ripgrep télécharge les archives fixées de la version 15.0.0 depuis la publication officielle de ripgrep et vérifie leurs sommes SHA-256 avant l'installation.
9.1.109La version 9.1.109 ne maintient plus en permanence dans la requête de modèle que les neuf outils sur lesquels ont porté plus de 98 pour cent des 3 183 appels d'outils mesurés. Tous les autres outils restent accessibles via ToolSearch et disponibles pour le reste de la session après leur premier chargement. La charge de schémas diminue ainsi à chaque étape de modèle normale, sans retirer d'outil ni modifier le chemin rapide pour les réponses Telegram et les résultats médias en attente.
9.1.108Les consignes système identiques injectées à plusieurs reprises ne sont fusionnées que dans la projection du modèle. Les consignes modifiées et l'historique enregistré complet sont conservés.
9.1.107Les erreurs du fournisseur sont affichées dans un langage client compréhensible ; les codes d'erreur internes et les indications d'assistance n'apparaissent pas. /help propose une liste de commandes navigable aux flèches et ouvre, avec la flèche droite ou la touche Entrée, une description détaillée de la commande sélectionnée.
9.1.106Les profils d'agent peuvent exclure des outils par leur nom. Les exclusions s'appliquent aussi après un rechargement dynamique ; les sous-agents standard n'envoient pas de messages Telegram en contournant l'agent principal.
9.1.105La version 9.1.105 ajoute TaskUpdate pour les agents d'arrière-plan en cours. King transmet des instructions supplémentaires à l'étape de modèle sûre suivante au même agent actif, sans l'arrêter ni démarrer un autre agent. Les tâches inconnues et déjà terminées, les tâches shell ainsi que les agents qui n'acceptent plus de mise à jour continuent d'être refusés comme auparavant.
9.1.104La version 9.1.104 laisse les commandes shell au premier plan s'exécuter jusqu'à leur fin régulière même avec de très grandes sorties. King écrit jusqu'à 16 Mio en continu dans le journal de tâches privé, rejette les sorties au-delà et signale le code de sortie réel, au lieu de terminer le processus en raison du volume de sortie. Les petites sorties, les tâches d'arrière-plan, les limites de temps et les abandons manuels restent inchangés.
9.1.103Les membres d'un essaim sont repris au plus deux fois après des interruptions temporaires du fournisseur sous le même identifiant d'agent. HTTP 429 conserve sa règle de surcharge distincte ; les erreurs définitives et les abandons manuels ne sont pas répétés automatiquement.
9.1.102Les agents délégués individuels sont repris au plus deux fois après des erreurs temporaires du fournisseur, d'après leur historique permanent. Les erreurs définitives et les abandons manuels restent définitifs.
9.1.101Les messages utilisateur surdimensionnés sont sauvegardés localement et remplacés dans le contexte du modèle par un aperçu limité avec chemin lisible. L'historique original complet et les médias sont conservés.
9.1.100Les recherches de contenu Grep limitées terminent ripgrep après la page demandée et une ligne d'aperçu supplémentaire. Les comptages de correspondances, les recherches illimitées et les listes de fichiers triées par date de modification restent complets.
9.1.98King peut compacter proactivement une section de travail terminée à partir de 128 000 jetons estimés. Sous le seuil, le schéma d'outil reste entièrement absent du prompt du modèle ; le compactage utilise le passage d'étape sûr existant.
9.1.97La description d'outil TodoList chargée en permanence est passée de 2 238 à 996 caractères. La planification en plusieurs étapes, les six statuts de tâche, les rapports de progression honnêtes, les requêtes, le vidage et le mode plan séparé restent protégés.
9.1.96Le prompt système de base chargé en permanence est passé de 23 109 à 4 850 caractères. L'identité, la persona et l'âme, la langue de réponse, les limites de travail et d'autorisation, la transmission par compactage, l'environnement d'exécution, AGENTS.md et les skills restent protégés.
9.1.95La description d'outil Write chargée en permanence est passée de 2 532 à 1 541 caractères. La délimitation par rapport à Edit, les contenus littéraux, les fins de ligne, la limite de 500 lignes, l'exception mono-fichier et la continuation atomique avec contrôle de lignes et de SHA-256 restent protégés.
9.1.94La description d'outil Glob chargée en permanence est passée de 1 495 à 1 006 caractères. Le tri, les fichiers ignorés et sensibles, les motifs récursifs, les fichiers commençant par un point, l'expansion des accolades et la limite de 100 correspondances restent protégés.
9.1.93La description d'outil Edit chargée en permanence est passée de 1 537 à 1 144 caractères. La lecture avant modification, les remplacements exacts, les remplacements multiples, le traitement CRLF et la limite de 500 lignes restent protégés.
9.1.92La description d'outil Agent chargée en permanence est passée de 2 061 à 1 153 caractères. Le contexte séparé, la reprise, les limites de temps et la délégation parallèle sont conservés.
9.1.91La description d'outil Read chargée en permanence est passée de 2 391 à 1 648 caractères. La pagination, la protection des secrets, le renvoi des médias, le format des lignes et le comportement CRLF sont conservés.
9.1.90La description d'outil Bash chargée en permanence est passée de 5 003 à 1 834 caractères. Le contrat d'exécution, les tâches d'arrière-plan, les outils de fichiers et les limites de sécurité restent entièrement conservés.
9.1.89Les lectures de fichiers paginées indiquent, à la limite interne de 1 000 lignes, le line_offset suivant exact ; la fin de fichier et les extraits volontairement plus petits restent inchangés.
9.1.88BLUN King 9.1.88 active le petit compactage sans perte en temps utile, avant le compactage complet. Les anciens grands résultats d'outils et les arguments d'outils terminés quittent plus tôt la vue du modèle ; l'historique enregistré complet est conservé.
9.1.87Une réponse HTTP 429 explicitement répétable respecte Retry-After et reçoit au plus deux nouvelles tentatives automatiques ; les autres erreurs restent immédiatement visibles.
9.1.86Les grandes sorties d'outils conservent chacune 1 000 caractères du début et de la fin visibles dans le même budget d'aperçu ; une marque exacte indique le nombre de caractères omis.
9.1.85Les résultats d'outils textuels au-dessus de 12 000 caractères sont entièrement enregistrés dans un fichier local privé ; les requêtes de modèle suivantes ne conservent qu'un budget d'aperçu de 2 000 caractères et le chemin lisible.
9.1.84Le compactage complet traite les historiques plus anciens par étapes chronologiques d'au plus 64 000 jetons d'entrée estimés ; la limite de sécurité fixe et l'archive privée complète restent inchangées.
9.1.83Le micro-compactage ne remplace les grands arguments des appels d'outils terminés plus anciens que dans la vue du modèle par un marquage JSON valide ; le contrôleur de session signale l'économie estimée sans afficher de contenu.
9.1.82Le contrôleur en lecture seule signale les schémas d'outils sélectionnés et écartés, les motifs de suppression et le nombre estimé de jetons de schémas évités.
9.1.81Un contrôleur fourni, en lecture seule, résume les étapes du fournisseur, les appels d'outils, les jetons, les compactages, les erreurs et les sorties délocalisées, sans exposer les prompts ni les chemins privés.
9.1.80Les grands résultats d'outils reçoivent une télémétrie de délocalisation sans contenu ; le contexte isolé des sous-agents, les plans lisibles par machine et les passations portables sont protégés par des tests de régression.
9.1.79Les points de contrôle permanents écrivent les enregistrements d'historique terminés avant les étapes du fournisseur et avant la fin d'un worker, afin que le travail terminé puisse être relu après une reprise.
9.1.78Le compactage complet archive les parties d'historique évincées avant de les remplacer par un résumé ; le résumé contient le chemin d'archive lisible.
9.1.77Le micro-compactage réduit, sous pression de contexte, les anciens grands résultats d'outils et préserve en même temps l'historique enregistré complet.
9.1.76Les demandes d'image, de vidéo et de voix en attente survivent au compactage et aux questions de suivi rapides ; les messages Telegram restent en ordre FIFO sans erreur d'occupation trompeuse.
9.1.75Les brèves conversations Telegram ne traitent que le message sans réponse le plus récent, tandis que les échanges de texte terminés sont conservés comme contexte de langue.
9.1.74Les routes Telegram enregistrées restaurent les identifiants de groupe transmis accidentellement sans signe moins ; Ctrl+S peut piloter un tour réellement en cours.
9.1.73Les messages Telegram et Loop ne démarrent plus un second tour pendant un travail actif ; Escape et Ctrl+C peuvent toujours interrompre le tour actif.
9.1.72Masquer un avis de mise à jour ne masque que la version proposée à ce moment-là ; les publications plus récentes réapparaissent au démarrage normal avec king.
9.1.71Les réveils Loop arrivent correctement dans la file d'attente, le poller Telegram est revendiqué atomiquement, les outils de fichiers et de médias centraux restent immédiatement disponibles et Context7 ne démarre plus automatiquement.
9.1.69Les MCP standard sont configurés, Telegram atteint un point de transmission FIFO protégé, Escape et Ctrl+C interrompent de manière fiable le travail actif et l'aperçu MCP masque les chemins internes.
9.1.68Les messages Telegram reçus pendant l'inactivité réveillent le traitement FIFO, les messages directs et de groupe conservent leur ordre d'arrivée et la reprise masque les cadres Telegram internes.
9.1.67Le skill standard venture-flywheel ajoute une base UVF purement contractuelle avec confiance de projet déterministe et obligations de validation pour les actions externes.
9.1.66/curiosity et /scout exécutent des recherches d'opportunités limitées, en lecture seule, avec preuves, contre-preuves et un critère d'arrêt.
9.1.65Escape et Ctrl+C interrompent de manière fiable les compactages automatiques, un ancrage d'écran stable empêche les pieds de page en double et l'indication Loop est alignée sur le contenu du chat.
9.1.64L'historique de session sur disque, les outils et skills chargés à la demande, un gardien d'inactivité du fournisseur de 120 secondes, un rythme Loop correct, Telegram en ordre FIFO, les paquets Linux et la détection du bosnien sont arrivés ensemble.
9.1.58–9.1.63Cette série de versions a regroupé des travaux sur les sessions, Telegram, les plateformes et la performance. La clôture était constituée de schémas d'outils légers à la demande, de listes de skills compactes, de skills de première utilisation restaurés et d'un inventaire de paquets comme barrière contre les suppressions non planifiées.

Améliorations précédentes

VersionChangement
9.1.53/idea publie son plan de tâches avant le premier travail, vérifie les actions sortantes à chaque appel d'outil et exige pour chaque étape un état final honnête.
9.1.52Les sessions reprises ouvrent directement le répertoire de travail enregistré. La conversation et l'état /loop actif sont rétablis ensemble au redémarrage.
9.1.51Les boucles fonctionnent comme des réveils autonomes, /idea développe et modifie ses propres plans, Telegram peut déclencher des commandes de travail, et les états des médias et du démarrage sont représentés plus clairement.
9.1.50Les images reçues localement ou via Telegram peuvent être animées en véritables vidéos MP4. Les grandes fenêtres de contexte reçoivent un budget de sortie valide ; la barre médias affiche des états plus clairs et des chemins cliquables.
9.1.49Les images de personnages fantastiques adultes en tenue de bain restent autorisées dans des limites claires. Les demandes d'image terminées peuvent servir d'image de départ pour les vidéos ; les requêtes GetMedia réussies ne génèrent pas de cartes répétées.
9.1.48La barre médias unifiée regroupe les demandes médias directement au-dessus du champ de saisie. Les pourcentages n'apparaissent qu'avec une valeur réelle mesurée du fournisseur ; sinon, elle affiche la phase et la durée.
9.1.47Le journal des requêtes distingue les conversations et les compactages et enregistre la sélection d'outils ainsi que le motif de suppression, sans modifier le comportement des outils.
9.1.46Les boucles comprennent les indications de temps naturelles, les affichent pendant la saisie, prennent en charge des intervalles libres et libèrent la sélection de texte normale dans le terminal en dehors de la vue d'historique.
9.1.45La progression du compactage en cours n'apparaît plus que dans la barre de statut inférieure, au lieu d'apparaître aussi sur une deuxième ligne dans le chat.
9.1.44Reconditionnement complet de la version validée 9.1.43, afin que même les versions 9.1.43 installées tôt reconnaissent de manière fiable la mise à jour.
9.1.43Base de protection complète issue de 9.1.40 avec diagnostic de transport, avis de mise à jour visibles et les commandes console /loop, /goal et /output-style.
9.1.40Gardien de tour pour les appels longs ou en échec répété ; auto-hash après écriture en plusieurs parties avec contrôle de relecture du fichier enregistré.
9.1.39Les fichiers longs sont écrits en continuations. Chaque continuation reprend à l'endroit réellement écrit ; le nombre de lignes, le SHA-256 et les limites des morceaux sont contrôlés et affichés.
9.1.38Les arguments d'outils dégénérés ou tronqués sont reconnus. Un fichier incomplet est refusé avec un message d'erreur, au lieu de compter silencieusement comme terminé.
9.1.37Après un changement de Node, BLUN vérifie les modules natifs avec une vraie requête SQLite et reconstruit better-sqlite3 si nécessaire.
9.1.36Les réponses de modèle vides sont traitées selon leur cause : un budget de sortie trop restreint est augmenté, un arrêt vide est répété exactement une fois. Les consignes système et les injections ne peuvent pas déclencher de réponse Telegram.
9.1.35Le compactage en plusieurs étapes affiche l'étape et l'utilisation réelle de la fenêtre du modèle, par exemple 2/~10 · 90 %.
9.1.34Le contexte actif est compacté par étapes : les parties les plus anciennes d'abord, chaque appel du compacteur sous la limite du modèle.
9.1.33Base pour l'environnement d'exécution Node automatique et la réparation en aval des modules natifs après un changement d'environnement.

Ajouts et lacunes documentaires ouvertes

Rapprochement du 17 septembre 2026 : dans la plage 9.1.33 à 9.1.597, 521 versions sont présentes dans le répertoire npm. Un numéro manquant n'est pas automatiquement une publication manquante : certaines versions manquent dans le répertoire actuel ou ont été retirées. Pour quatre versions publiées, les détails exacts des modifications restent non documentés. Aucune modification n'est inventée pour combler ces lacunes.

9.1.567 : détails des modifications non documentés

Publié le 6 septembre 2026 à 22:42 UTC. La valeur SHA-512 du paquet correspond à la valeur d'intégrité publiée sur npm. Le paquet ne contient pas de CHANGELOG.md ; son README cite encore 9.1.566 dans la commande d'installation. La différence avec 9.1.566 ne peut donc pas en être déduite de manière fiable. Cette lacune documentaire reste explicitement ouverte.

9.1.550 : détails des modifications non documentés

Publié le 2 septembre 2026 à 07:19 UTC. La valeur SHA-512 du paquet correspond à la valeur d'intégrité publiée sur npm. Le paquet ne contient pas de CHANGELOG.md et aucune preuve de modification spécifique à une version n'a été trouvée dans le matériel examiné. Cette lacune documentaire reste explicitement ouverte.

Ajout à 9.1.536

Les informations suivantes proviennent du paquet publié du 1er septembre 2026, dont l'intégrité a été vérifiée :

  • Les commandes de travail se poursuivent au-delà des réponses Telegram privées. Après des messages directs mis en mémoire tampon, King poursuit le travail avec une étape supplémentaire limitée, à moins que l'utilisateur n'ait explicitement mis en pause ou arrêté le travail.
  • Les courtes demandes de statut n'interrompent pas le flux de travail en cours.
  • Lorsque les tentatives de répétition après des réponses de raisonnement vides sont épuisées, King réduit l'effort de raisonnement au lieu de le laisser inchangé lors des tentatives suivantes.
  • Davantage de schémas d'outils chargés à la demande restent disponibles ; les messages ne sont délocalisés que lorsque la place disponible dans l'historique devient rare.
  • Sont incluses la règle de progression vérifiée pour TodoList et un chemin de démarrage sur une ligne pour God Mode avec Swarm.

Ajout à 9.1.99

La documentation de fonctionnalité existante décrit la délocalisation commune de résultats d'outils textuels purs successifs : lorsque la pile dépasse 12 000 caractères, les grands résultats adaptés sont enregistrés en privé. Dans le contexte du modèle restent des références lisibles ; l'historique brut et les médias sont conservés. L'entrée de version jusqu'ici manquante renvoie désormais explicitement à cette fonctionnalité.

9.1.70 : détails des modifications non documentés

Publié le 24 août 2026 à 15:56 UTC. La valeur SHA-512 du paquet correspond à la valeur d'intégrité publiée sur npm. Le paquet ne contient pas de CHANGELOG.md ; les descriptions de fonctionnalités existantes ne prouvent aucune différence nette avec 9.1.69. Cette lacune documentaire reste explicitement ouverte.

9.1.57 : détails des modifications non documentés

Publié le 23 août 2026 à 07:28 UTC. Cette version n'est apparue jusqu'ici que comme point de départ d'un titre collectif. Aucune preuve de modification spécifique à une version n'est attribuée dans le matériel examiné. Cette lacune documentaire reste explicitement ouverte.

Le CHANGELOG.md contenu dans le paquet npm immuable 9.1.597 se termine à 9.1.594. Les indications complémentaires pour 9.1.595 à 9.1.597 figurent sur cette page. Le paquet publié n'a pas été réécrit par la suite sous le même numéro de version.

9.1.41 et 9.1.42 sont retirées

Ne pas installer

Ces deux versions ont été dérivées par erreur de 9.1.38 au lieu de 9.1.40. Il manquait donc la continuation d'écriture, l'auto-hash et le gardien de tour. Les deux versions npm sont marquées comme obsolètes ; latest et next n'y ont jamais pointé. 9.1.43 contient leurs modifications prévues sur la base de protection complète.

Mettre à jour et vérifier

king update
blun --version

Après l'installation de 9.1.599, la sortie de version doit afficher 9.1.599. Les mises à jour depuis 9.1.597 et la version locale 9.1.598 via les sources de mise à jour publiques sont vérifiées. Une console déjà en cours ne charge le nouveau code qu'après son redémarrage. Vérifie ensuite en plus /version dans celle-ci.