fix(honcho): read Honcho 3.0.x response schema — memory reads were silently empty
Nightly Build / build (push) Successful in 3m48s
Nightly Build / build (push) Successful in 3m48s
Against a self-hosted Honcho 3.0.11 every read path came back empty while the server was healthy and full of derived facts: the plugin parsed a `conclusions`/`summary` shape the API no longer emits. - honcho-client: typed models for the real schema — `PeerContext` (`representation` markdown + `peer_card`), `SessionContext` (`summary` as an object, `peer_representation`), wrapped `PeerCard` (a bare array on PUT is a 422, which also broke `honcho_profile` writes). - plugin: the turn-time injection and `honcho_context` read the representation; `honcho_search` and the page's /search now use `conclusions/query` (observer/observed scoping inside `filters`) — a real ranked semantic search with fact ids, which `peer_context?search_query` never provided; /overview returns card + representation + conclusions. - compose: pin the Honcho image by digest (3.0.11) — ghcr publishes no v3 semver tags, and an untracked `:latest` pull is what drifted the schema. - tests: fixture tests from payloads captured on the live server, plus an env-gated live smoke test (HONCHO_E2E_URL/_WS/_PEER, `cargo test -p honcho-client -- --ignored`) — run it before any future Honcho bump.
This commit is contained in:
@@ -43,7 +43,7 @@ export default {
|
||||
// "What does it remember?" panel (shown once opted in)
|
||||
[`${P}.panel.title`]: 'What Honcho remembers about you',
|
||||
[`${P}.panel.guide_title`]: 'How to use this page',
|
||||
[`${P}.panel.guide_overview`]: 'Overview shows everything Honcho has derived about you so far: your card (key facts), the facts it concluded, and a summary. Nothing to type.',
|
||||
[`${P}.panel.guide_overview`]: 'Overview shows everything Honcho has derived about you so far: your card (key facts), the individual facts, and the full digest it hands to the assistant. Nothing to type.',
|
||||
[`${P}.panel.guide_search`]: 'Search finds the stored facts most relevant to the words you type. Fast and exact — no AI rewrite, you see the raw facts.',
|
||||
[`${P}.panel.guide_ask`]: 'Ask sends your question to Honcho’s AI, which reads your memory and writes an answer in its own words. Slower, but it can connect the dots.',
|
||||
[`${P}.panel.status_title`]: 'Service status',
|
||||
@@ -54,7 +54,7 @@ export default {
|
||||
[`${P}.panel.overview_title`]: 'Overview',
|
||||
[`${P}.panel.card_title`]: 'Your card',
|
||||
[`${P}.panel.facts_title`]: 'Facts',
|
||||
[`${P}.panel.summary_title`]: 'Summary',
|
||||
[`${P}.panel.representation_title`]: 'Representation (what the assistant receives)',
|
||||
[`${P}.panel.no_memory`]: 'Honcho has no memory about you yet — it builds up as you chat.',
|
||||
[`${P}.panel.query_title`]: 'Search or ask',
|
||||
[`${P}.panel.query_hint`]: 'Words to find facts, or a full question for the AI.',
|
||||
@@ -98,7 +98,7 @@ export default {
|
||||
// Pannello "cosa ricorda di te?" (visibile dopo il consenso)
|
||||
[`${P}.panel.title`]: 'Cosa ricorda Honcho di te',
|
||||
[`${P}.panel.guide_title`]: 'Come usare questa pagina',
|
||||
[`${P}.panel.guide_overview`]: 'La panoramica mostra tutto ciò che Honcho ha ricavato su di te finora: la tua scheda (fatti chiave), i fatti dedotti e un riassunto. Non serve scrivere nulla.',
|
||||
[`${P}.panel.guide_overview`]: 'La panoramica mostra tutto ciò che Honcho ha ricavato su di te finora: la tua scheda (fatti chiave), i singoli fatti e il riassunto completo che consegna all’assistente. Non serve scrivere nulla.',
|
||||
[`${P}.panel.guide_search`]: 'Cerca trova i fatti memorizzati più rilevanti per le parole che scrivi. Veloce ed esatto — niente riscritture dell’AI, vedi i fatti grezzi.',
|
||||
[`${P}.panel.guide_ask`]: 'Chiedi invia la tua domanda all’AI di Honcho, che legge la tua memoria e scrive una risposta con parole sue. Più lento, ma sa collegare i puntini.',
|
||||
[`${P}.panel.status_title`]: 'Stato del servizio',
|
||||
@@ -109,7 +109,7 @@ export default {
|
||||
[`${P}.panel.overview_title`]: 'Panoramica',
|
||||
[`${P}.panel.card_title`]: 'La tua scheda',
|
||||
[`${P}.panel.facts_title`]: 'Fatti',
|
||||
[`${P}.panel.summary_title`]: 'Riassunto',
|
||||
[`${P}.panel.representation_title`]: 'Rappresentazione (quella che riceve l’assistente)',
|
||||
[`${P}.panel.no_memory`]: 'Honcho non ha ancora nessun ricordo di te — si costruisce chiacchierando.',
|
||||
[`${P}.panel.query_title`]: 'Cerca o chiedi',
|
||||
[`${P}.panel.query_hint`]: 'Parole per trovare fatti, oppure una domanda completa per l’AI.',
|
||||
@@ -153,7 +153,7 @@ export default {
|
||||
// Panneau « que retient-il de vous ? » (visible après le consentement)
|
||||
[`${P}.panel.title`]: 'Ce que Honcho retient de vous',
|
||||
[`${P}.panel.guide_title`]: 'Comment utiliser cette page',
|
||||
[`${P}.panel.guide_overview`]: 'L’aperçu montre tout ce que Honcho a déduit de vous jusqu’ici : votre fiche (faits clés), les faits conclus et un résumé. Rien à saisir.',
|
||||
[`${P}.panel.guide_overview`]: 'L’aperçu montre tout ce que Honcho a déduit de vous jusqu’ici : votre fiche (faits clés), les faits individuels et la synthèse complète remise à l’assistant. Rien à saisir.',
|
||||
[`${P}.panel.guide_search`]: 'Rechercher trouve les faits stockés les plus pertinents pour les mots saisis. Rapide et exact — pas de réécriture par l’IA, vous voyez les faits bruts.',
|
||||
[`${P}.panel.guide_ask`]: 'Demander envoie votre question à l’IA de Honcho, qui lit votre mémoire et rédige une réponse avec ses mots. Plus lent, mais elle relie les points.',
|
||||
[`${P}.panel.status_title`]: 'État du service',
|
||||
@@ -164,7 +164,7 @@ export default {
|
||||
[`${P}.panel.overview_title`]: 'Aperçu',
|
||||
[`${P}.panel.card_title`]: 'Votre fiche',
|
||||
[`${P}.panel.facts_title`]: 'Faits',
|
||||
[`${P}.panel.summary_title`]: 'Résumé',
|
||||
[`${P}.panel.representation_title`]: 'Représentation (celle que reçoit l’assistant)',
|
||||
[`${P}.panel.no_memory`]: 'Honcho n’a pas encore de mémoire vous concernant — elle se construit au fil des conversations.',
|
||||
[`${P}.panel.query_title`]: 'Rechercher ou demander',
|
||||
[`${P}.panel.query_hint`]: 'Des mots pour trouver des faits, ou une question complète pour l’IA.',
|
||||
|
||||
Reference in New Issue
Block a user