symfonic.tools.learning¶
learning ¶
CommitToMemoryTool -- saves LearnedInsight to the semantic memory layer.
CommitToMemoryTool ¶
Async tool that persists LearnedInsights to the semantic memory layer.
Designed for fire-and-forget usage inside the self-reflection phase.
Errors are logged and suppressed — this tool never raises from commit.
Automatically stamps tenant_id and confidence from the insight.
Restated facts collapse into their canonical node: before writing, the
commit path fuzzy-matches the insight against existing same-scope
semantic nodes (see :func:symfonic.memory.dedup.find_canonical_node)
and, on a hit, upserts the canonical row -- latest phrasing wins,
importance never decreases -- instead of minting a near-duplicate.
Usage::
tool = CommitToMemoryTool(orchestrator=orchestrator)
await tool.commit(insight)
committed = await tool.commit_batch(insights)
Source code in src/symfonic/tools/learning.py
commit
async
¶
Persist a single insight to the semantic layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insight
|
LearnedInsight
|
The LearnedInsight to store. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True on success, False on any failure (never raises). |
Source code in src/symfonic/tools/learning.py
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
commit_batch
async
¶
Commit multiple insights sequentially.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insights
|
list[LearnedInsight]
|
List of LearnedInsight objects to persist. |
required |
Returns:
| Type | Description |
|---|---|
int
|
Count of successfully committed insights. |