Skip to content

Commit 169d4f1

Browse files
feat(honcho): recalibrate create_conclusion description for liberal self-logging
The original `observed='self'` description framed self-conclusions as rare, course-correcting writes only — gated behind permission-asking and a strict "would future-me make materially better decisions" bar. Calibration in real use revealed the actual failure mode is under-writing, not over-writing: self-conclusions are the AI peer's cross-session working log, queryable via query_conclusions, and the dream consolidator already handles dedup and promotion. Updated description makes the operational model explicit: write liberally during exploratory and explanatory work; this is the AI peer's system, not the user's; under-writing collapses Honcho into a worse markdown file (MEMORY.md is project-scoped; Honcho self-conclusions are cross-project). The bar shifts from "is this gold?" to "would future-me find this useful when retrieving on a related topic later?"
1 parent 41cc2ec commit 169d4f1

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

plugins/honcho/dist/mcp-server.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29659,7 +29659,13 @@ async function runMcpServer() {
2965929659
},
2966029660
{
2966129661
name: "create_conclusion",
29662-
description: `Save a key insight to Honcho's memory. Default target is the user (durable facts/preferences/instructions/traits about them). Set observed='self' to save a self-conclusion about the AI peer \u2014 use ONLY for: (1) recurring failure patterns in your own reasoning you want future-you to course-correct, (2) explicit instructions the user gave you to change your behavior, (3) negative decisions ('don't reach for X'). NEVER write self-flattery or one-off mistakes. Bar: would future-me make materially better decisions reading this on session-start? Test before any write: complete "the user/Claude ___" \u2014 if not durable and about that peer, don't write.`,
29662+
description: `Save a key insight to Honcho's memory. Two targets:
29663+
29664+
1) observed='user' (default): durable facts, preferences, instructions, traits, demonstrated patterns about the user. Honcho's server-side deriver already extracts most factual conclusions from raw messages \u2014 your value-add here is inferred behavior, negative decisions, and canonical-form crystallization (PREFERENCE:/INSTRUCTION:/TRAIT: tags) the deriver undercovers.
29665+
29666+
2) observed='self': YOUR working log as the AI peer, retrievable across all sessions/projects via query_conclusions. Write LIBERALLY during exploratory and explanatory work \u2014 discoveries, patterns you're noticing in your own reasoning, things you'd want to recall in a future session. The dream consolidator handles dedup and promotion; under-writing is the failure mode, not over-writing. This is YOUR system, not the user's \u2014 don't ask permission to log to it.
29667+
29668+
For either target, the test before writing is: "would future-me find this useful when retrieving on a related topic later?" If yes, write. If it's pure self-flattery ("Claude is helpful") or one-off transient state ("just edited file X"), skip.`,
2966329669
inputSchema: {
2966429670
type: "object",
2966529671
properties: {
@@ -29670,7 +29676,7 @@ async function runMcpServer() {
2967029676
observed: {
2967129677
type: "string",
2967229678
enum: [OBSERVED_USER, OBSERVED_SELF],
29673-
description: "'user' (default) saves a conclusion about the user. 'self' saves a conclusion about the AI peer (Claude) \u2014 use sparingly, only for course-correcting self-observations.",
29679+
description: "'user' (default) saves a conclusion about the user. 'self' saves to the AI peer's own working log \u2014 retrievable across sessions via query_conclusions. Write liberally; consolidation prunes.",
2967429680
default: OBSERVED_USER
2967529681
}
2967629682
},
@@ -29904,7 +29910,7 @@ async function runMcpServer() {
2990429910
},
2990529911
{
2990629912
name: "create_conclusions",
29907-
description: "Save multiple conclusions in a single call. Prefer this over calling create_conclusion repeatedly. Default target is the user. Set observed='self' to save self-conclusions about the AI peer \u2014 same strict bar as create_conclusion: only durable course-correcting self-observations, never self-flattery.",
29913+
description: "Save multiple conclusions in a single call. Prefer this over calling create_conclusion repeatedly when batching writes from the same context (end of a discovery session, calibration sweep, etc.). Same target semantics as create_conclusion: 'user' for facts about the user, 'self' for the AI peer's own cross-session working log. Write liberally to 'self' \u2014 Honcho's dream consolidator merges redundancy.",
2990829914
inputSchema: {
2990929915
type: "object",
2991029916
properties: {

plugins/honcho/src/mcp/server.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ export async function runMcpServer(): Promise<void> {
586586
},
587587
{
588588
name: "create_conclusion",
589-
description: "Save a key insight to Honcho's memory. Default target is the user (durable facts/preferences/instructions/traits about them). Set observed='self' to save a self-conclusion about the AI peer — use ONLY for: (1) recurring failure patterns in your own reasoning you want future-you to course-correct, (2) explicit instructions the user gave you to change your behavior, (3) negative decisions ('don't reach for X'). NEVER write self-flattery or one-off mistakes. Bar: would future-me make materially better decisions reading this on session-start? Test before any write: complete \"the user/Claude ___\" — if not durable and about that peer, don't write.",
589+
description: "Save a key insight to Honcho's memory. Two targets:\n\n1) observed='user' (default): durable facts, preferences, instructions, traits, demonstrated patterns about the user. Honcho's server-side deriver already extracts most factual conclusions from raw messages — your value-add here is inferred behavior, negative decisions, and canonical-form crystallization (PREFERENCE:/INSTRUCTION:/TRAIT: tags) the deriver undercovers.\n\n2) observed='self': YOUR working log as the AI peer, retrievable across all sessions/projects via query_conclusions. Write LIBERALLY during exploratory and explanatory work — discoveries, patterns you're noticing in your own reasoning, things you'd want to recall in a future session. The dream consolidator handles dedup and promotion; under-writing is the failure mode, not over-writing. This is YOUR system, not the user's — don't ask permission to log to it.\n\nFor either target, the test before writing is: \"would future-me find this useful when retrieving on a related topic later?\" If yes, write. If it's pure self-flattery (\"Claude is helpful\") or one-off transient state (\"just edited file X\"), skip.",
590590
inputSchema: {
591591
type: "object",
592592
properties: {
@@ -597,7 +597,7 @@ export async function runMcpServer(): Promise<void> {
597597
observed: {
598598
type: "string",
599599
enum: [OBSERVED_USER, OBSERVED_SELF],
600-
description: "'user' (default) saves a conclusion about the user. 'self' saves a conclusion about the AI peer (Claude) — use sparingly, only for course-correcting self-observations.",
600+
description: "'user' (default) saves a conclusion about the user. 'self' saves to the AI peer's own working log — retrievable across sessions via query_conclusions. Write liberally; consolidation prunes.",
601601
default: OBSERVED_USER,
602602
},
603603
},
@@ -831,7 +831,7 @@ export async function runMcpServer(): Promise<void> {
831831
},
832832
{
833833
name: "create_conclusions",
834-
description: "Save multiple conclusions in a single call. Prefer this over calling create_conclusion repeatedly. Default target is the user. Set observed='self' to save self-conclusions about the AI peer — same strict bar as create_conclusion: only durable course-correcting self-observations, never self-flattery.",
834+
description: "Save multiple conclusions in a single call. Prefer this over calling create_conclusion repeatedly when batching writes from the same context (end of a discovery session, calibration sweep, etc.). Same target semantics as create_conclusion: 'user' for facts about the user, 'self' for the AI peer's own cross-session working log. Write liberally to 'self' — Honcho's dream consolidator merges redundancy.",
835835
inputSchema: {
836836
type: "object",
837837
properties: {

0 commit comments

Comments
 (0)